- Se consideró que era difícil lograr mejoras a nivel de lenguaje C/C++, así que se intentó optimizar a nivel de ensamblador
- Como si fuera un juego, explora continuamente algoritmos que produzcan la respuesta correcta para un resultado dado
- Frente a la biblioteca de ordenamiento de LLVM libc++, mostró un rendimiento 70% más rápido en cantidades pequeñas y un rendimiento 1.7% más rápido en secuencias de más de 250 mil elementos
- Como la mayoría de los ordenamientos ocurren en secuencias cortas, se puso más foco en esa parte
- No solo es rápido, también muestra un enfoque ingenioso comparable a la jugada 37 de AlphaGo
- También está mejorando algoritmos de hashing
4 comentarios
Es realmente sorprendente que la IA también pueda encontrar mejores algoritmos.
Incluso con los optimizers que se usan en deep learning, últimamente se están haciendo bastantes intentos por encontrarlos de esa forma. Y el rendimiento también es bueno.
En lugar de enfocarse más en esto porque “la mayoría de los ordenamientos ocurren en secuencias cortas”, simplemente lo entrenaron para descubrir algoritmos en ensamblador que ordenaran una cantidad fija de números: 3, 4, ... 8.
Al ver el texto original, parece que el equipo de investigación que creó AlphaDev lo entrenó con esa intención.