Disponible a través de
Gráfico de E/S
Elige modelos para comparar
Publicaciones (1)
Descripción general
jina-code-embeddings-0.5b es un modelo de incrustación de código con 494 millones de parámetros, diseñado para recuperar código de consultas en lenguaje natural, preguntas y respuestas técnicas e identificar código similar en diferentes lenguajes. Basado en la estructura principal de Qwen2.5-Coder-0.5B, genera incrustaciones mediante la agrupación de últimos tokens y aborda la limitación fundamental de los modelos tradicionales de incrustación de código que dependen de datos alineados escasos, como comentarios y cadenas de documentación. El modelo aprovecha la abundante documentación y código no alineados utilizados en el entrenamiento LLM, logrando un rendimiento de vanguardia a pesar de su tamaño compacto. Admite cinco categorías de tareas con prefijos de instrucción específicos: NL2Code, TechQA, Code2Code, Code2NL y Code2Completion. El modelo implementa el aprendizaje de representación Matryoshka para incrustaciones truncables, lo que permite un equilibrio flexible entre precisión y recursos.
Métodos
El modelo emplea entrenamiento contrastivo con pérdida de InfoNCE con temperatura τ=0,05, tamaño de lote 512 y longitud de secuencia 512. Los datos de entrenamiento incluyen tareas de código MTEB, CoSQA+, conjuntos de datos públicos adaptados y datos sintéticos GPT-4o para escenarios poco frecuentes. Los prefijos de instrucción específicos de cada tarea condicionan el modelo de forma diferente para consultas y documentos; por ejemplo, NL2Code utiliza "Buscar el fragmento de código más relevante dada la siguiente consulta:" para las consultas. El entrenamiento en cuatro GPU A100 para 1500 pasos tardó 8,3 horas. La agrupación del último token superó a la agrupación de atención media y latente en estudios de ablación. El enfoque contrastivo trata los pares consulta-documento como positivos y las combinaciones cruzadas como negativos dentro de cada lote.
Actuación
Alcanza un promedio general del 78,41 % y un promedio de código MTEB del 78,72 % en todos los benchmarks. Entre sus puntuaciones más destacadas se incluyen el 96,77 % en HumanEval, el 89,01 % en MBPP, el 98,31 % en WikiSQL y el 99,70 % en CodeChefXLang. Supera a Qwen3-Embedding-0.6B de tamaño similar y a modelos más grandes como jina-embeddings-v4 (74,11 %) y gemini-embedding-001 (77,38 %). Destaca en la recuperación de código a código con un 90,37 % en CodeTransOceanContest. Excelente rendimiento en NL2Code con un 85,73 % en COIR-CodeSearchNet y un 95,98 % en Doc2Code. Se han demostrado sus capacidades de preguntas y respuestas técnicas con un 91,04 % en StackOverflowQA.
Guía
Utilice siempre prefijos de instrucciones específicos de la tarea para consultas y documentos. Aproveche las incrustaciones de Matryoshka para equilibrar la calidad y los recursos: comience con dimensiones completas y trunque según sea necesario. El tamaño óptimo del lote es de 512 tokens, con una longitud de secuencia de 512. Utilice la similitud de coseno para comparar incrustaciones. Excelente para la búsqueda de código multilingüe gracias a un rendimiento del 99,70 % de CodeChefXLang. Considere la recuperación en dos etapas con los candidatos iniciales de este modelo, seguida de una reclasificación. Ideal para la implementación en el borde y aplicaciones en tiempo real gracias a su tamaño compacto. Almacene en caché las incrustaciones de acceso frecuente e implemente la indexación jerárquica para bases de código grandes.
Blogs que mencionan este modelo