Descripción general
jina-code-embeddings-1.5b es un modelo de embeddings de código de 1,5B parámetros que mapea código de programación y consultas en lenguaje natural a un espacio semántico compartido de 1536 dimensiones. Admite ventanas de contexto de 32K tokens, lo que permite la recuperación sobre archivos completos y contextos de código de varios archivos. Alcanza un rendimiento state-of-the-art en recuperación de código, superando significativamente a su variante de 0,5B y a modelos dedicados de recuperación de código sustancialmente mayores.
Métodos
El modelo se construye sobre un backbone transformer autoregresivo preentrenado en corpora de lenguaje natural y código, aprovechando el objetivo de preentrenamiento de generación de código para producir representaciones semánticas ricas. Extrae embeddings mediante Last-Token-Pooling desde la posición final de la secuencia: la atención causal del modelo autoregresivo atiende de forma natural a todo el contexto de entrada, y el objetivo de generación de código produce representaciones que capturan tanto la estructura sintáctica como la semántica funcional. El entrenamiento usa una receta de dos etapas: (1) preentrenamiento contrastivo en pares código-texto a gran escala y (2) ajuste fino supervisado en conjuntos de datos de recuperación de código curados, con minería de negativos difíciles. La longitud de contexto de 32K se habilita mediante embeddings de posición rotacionales con una frecuencia base ajustada. El aprendizaje de representaciones Matryoshka permite truncar la dimensión de 1536 a 128.
Rendimiento
El modelo alcanza un promedio general del 79,04 % y un promedio MTEB Code del 78,94 %, estableciendo nuevos benchmarks para su clase de parámetros. Puntuaciones destacadas: 98,41 % en HumanEval, 90,13 % en MBPP, 98,02 % en WikiSQL, 99,44 % en CodeChefXLang, 92,54 % en CodeTransOceanContest (código a código), 86,45 % en COIR-CodeSearchNet (NL2Code), 96,34 % en Doc2Code, 92,37 % en StackOverflowQA y 86,33 % en SWE-Bench (frente al 83,00 % de la variante de 0,5B). Supera a alternativas mayores y muestra mejoras consistentes frente a la variante de 0,5B, en particular en tareas complejas de varios archivos y entre repositorios.
Guía
Empregue prefijos de instrucción de forma estratégica según los requisitos de recuperación: nl2code, code2code, code2nl, techqa, code2completion. Mantenga la consistencia en toda su pipeline: use el mismo tipo de prefijo para consultas y documentos en un escenario de recuperación dado. La capacidad mejorada de 1,5B es ideal para escenarios complejos que involucran múltiples paradigmas de programación y grandes bases de código. Perfile sus casos de uso para determinar el dimensionamiento Matryoshka óptimo que equilibre calidad y recursos; 256–512 dimensiones es un buen punto de partida para indexación y 1536 para re-ranking. Use un tamaño de lote de 256 para alinearse con el entrenamiento en producción. El modelo es excelente para búsquedas entre repositorios y entre lenguajes, dado su rendimiento de 99,44 % en CodeChefXLang. Implántelo como el componente principal de recuperación en sistemas RAG, combinado con jina-reranker-v3.5 para precisión en los 50 mejores candidatos. Use similitud de coseno para comparar embeddings. Óptimo para despliegues empresariales que requieren tanto rendimiento como eficiencia con latencia inferior al segundo.


