Athrun Data Intelligence


Como humanos, aprendemos a hacer cosas nuevas, como ballet o combate (¡ambas actividades que tuve la oportunidad de probar este verano!), A través de prueba y error. Mejoramos intentando cosas, aprendiendo de nuestros errores y escuchando orientación. Sé que este tirabuzón de comentarios: parte de mi esquema interno para el verano fue enseñar un maniquí de galardón para identificar mejores correcciones de código para mostrar a los usuarios, como parte del esfuerzo de Databricks para construir un asistente de código de nivel superior.

Sin incautación, mi maniquí no fue el único educación a través de prueba y error. Mientras enseñaba a mi maniquí a distinguir las buenas correcciones de código de las malas, aprendí a escribir un código robusto, equilibrar la latencia y las preocupaciones de calidad para un producto impactante, comunicarme claramente con un equipo más holgado y, sobre todo, divertirse en el camino.

Databricks Asistente de alternativa rápida

Si alguna vez ha escrito código e intentó ejecutarlo, solo para percibir un error incómodo, entonces apreciaría Corrección rápida. Integrado en los cuadernos de Databricks y los editores de SQL, Quick Fix está diseñado para soluciones de inscripción confianza que se pueden suscitar en 1-3 segundos, ideal para errores de sintaxis, nombres de columnas mal escritas y errores simples de tiempo de ejecución. Cuando se activa la alternativa rápida, toma código y un mensaje de error, luego usa un LLM para suscitar una alternativa específica para resolver el error.

Databricks Asistente de solución rápida

¿Qué problema abordó mi esquema interno?

Si perfectamente la alternativa rápida ya existía y estaba ayudando a los usuarios de Databricks a arreglar su código, ¡había muchas maneras de hacerlo aún mejor! Por ejemplo, a posteriori de suscitar una alternativa de código y hacer algunas verificaciones básicas que pasa convenciones de sintaxis, ¿cómo podemos asegurarnos de que la alternativa que terminemos mostrando a un legatario sea el más relevante y preciso? Ingrese el mejor muestreo de K de K: genere múltiples sugerencias de alternativa posibles, luego use un maniquí de galardón para nominar el mejor.

La estructura de mi esquema

Mi esquema implicó una combinación de implementación de backend y experimentación de investigación, que encontré divertida y llena de educación.

Asistente de flujo de fijación rápida con la mejor selección de modelos de recompensa y recompensas
Asistente de flujo de fijación rápida con la mejor selección de modelos de galardón y recompensas

Generando múltiples sugerencias

Primero amplié el flujo de backend de alternativa rápida para suscitar diversas sugerencias en paralelo utilizando diferentes indicaciones y contextos. Experimenté con técnicas como juntar razonamiento de esclavitud de pensamiento, razonamiento previsto de resultados, variaciones indicadas del sistema y contexto selectivo de la pulvínulo de datos para maximizar la calidad y la complejidad de sugerencias. Descubrimos que suscitar sugerencias con razonamiento adicional aumentó nuestras métricas de calidad, pero igualmente indujo algunos costos de latencia.

Designar la mejor sugerencia de reparación para mostrarle al legatario

Luego de suscitar múltiples sugerencias, tenemos que nominar el mejor para regresar. Comencé implementando una hilera de pulvínulo de votación mayoritaria simple, que presentó al legatario la alternativa sugerida con viejo frecuencia, que funciona con el principio de que una alternativa más comúnmente generada sería la más efectiva. Esta hilera de pulvínulo funcionó perfectamente en las evaluaciones fuera de hilera, pero no funcionó significativamente mejor que la implementación coetáneo en las pruebas A/B de los usuarios en hilera, por lo que no se implementó en producción.

Encima, desarrollé modelos de galardón para clasificar y distinguir las sugerencias más prometedoras. Entrené a los modelos para predecir qué arreglos de los usuarios aceptarían y ejecutarían con éxito. Utilizamos enfoques clásicos de educación involuntario (regresión transporte y un árbol de audacia impulsado por el gradiente utilizando el Paquete de LightGBM) y LLMS ajustados.

Resultados e impacto

Sorprendentemente, para la tarea de predecir la éxito del legatario y el éxito de la ejecución de las correcciones de candidatos, los modelos clásicos se desempeñaron comparablemente con los LLM ajustados en las evaluaciones fuera de hilera. El maniquí de árbol de audacia en particular podría ocurrir tenido un buen desempeño porque las ediciones de código que «parecen perfectamente» los tipos de errores que las manijas de alternativa rápida tienden a ser correctas: las características que resultaron ser particularmente informativas fueron los dependencia entre la hilera de código diferente y la corrección generada, así como el tipo de error.

Dada esta representación, decidimos implementar el maniquí de árbol de audacia (LightGBM) en la producción. Otro ejecutor a servicio del maniquí LightGBM fue su tiempo de inferencia significativamente más rápido en comparación con el LLM sintonizado. La velocidad es crítica para una alternativa rápida, ya que deben aparecer sugerencias antaño de que el legatario edite manualmente su código, y cualquier latencia adicional significa que se corrigieron menos errores. El pequeño tamaño del maniquí LightGBM lo hizo mucho más efectivo en los medios y más obvio de producir, al flanco de algunas optimizaciones de maniquí e infraestructura, pudimos disminuir nuestro tiempo de inferencia promedio en casi 100 veces.

Con el mejor enfoque de K y el maniquí de galardón implementado, pudimos aumentar nuestra tasa de éxito interna, aumentando la calidad para nuestros usuarios. Además pudimos suministrar nuestra latencia interiormente de los límites aceptables de nuestra implementación diferente.

Si desea obtener más información sobre el Asistente de Databricks, consulte el página de destino o el Anuncio asistente de alternativa rápida.

Mi experiencia de pasantía

Civilización de Databricks en obra

Esta pasantía fue una experiencia increíble para contribuir directamente a un producto de parada impacto. Obtuve una visión de primera mano de cómo la civilización de Databricks fomenta una robusto sesgo por la obra mientras mantiene una mostrador inscripción para la calidad del sistema y el producto.

Desde el principio, noté lo inteligentes pero humildes que eran todos. Esa impresión solo se fortaleció con el tiempo, ya que vi cuán genuinamente solidario era el equipo. Incluso los ingenieros muy senior regularmente se esforzaban por ayudarme a tener éxito, ya sea hablando sobre desafíos técnicos, ofreciendo comentarios reflexivos o compartiendo sus enfoques y aprendizajes pasados.

Me gustaría dar un agradecimiento a mi mentor, Will Will Tipton, mis gerentes Phil Eichmann y Shanshan Zheng, mis mentores informales Rishabh Singh y Matt Hayes, el equipo editor / asistente, el equipo de IA aplicada y la familia de MosaicMl para su tutoría. He aprendido habilidades invaluables y lecciones de vida de ellos, lo que llevaré conmigo por el resto de mi carrera.

¡Los otros pasantes increíbles!

Por postrer, pero no menos importante, ¡la pasé muy perfectamente conociendo a los otros pasantes! El equipo de quinta organizó muchos eventos divertidos que nos ayudaron a conectarnos, uno de mis favoritos fueron los Juegos Olímpicos internos (en la foto a continuación). Ya sea que estuviera charlando durante el piscolabis, probando clases de entrenamiento locales o celebrando los cumpleaños con karaoke, verdaderamente aprecié lo solidario y unido que era el clase interno, tanto interiormente como fuera del trabajo.

Pasantes

Olimpiadas internas! ¡Ve al equipo 2!

Boxeo de pasantes

¡Grita a los otros pasantes que intentaron luchar conmigo!

Este verano me enseñó que el mejor educación ocurre cuando resuelve problemas reales con limitaciones reales, especialmente cuando estás rodeado de personas inteligentes, impulsadas y de apoyo. La parte más gratificante de mi pasantía no fue solo completar la capacitación de modelos o presentar resultados interesantes al equipo, sino darme cuenta de que he crecido en mi capacidad para hacer mejores preguntas, razones a través de compensaciones de diseño y entregar una característica concreta de principio a fin en una plataforma tan ampliamente utilizada como Databricks.

Si desea trabajar en proyectos de vanguardia con compañeros de equipo increíbles, ¡le recomendaría que solicite trabajar en Databricks! Visite el Página de carreras de databricks Para obtener más información sobre las aperturas de trabajo en toda la empresa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *