개요
jina-code-embeddings-0.5b는 494M 파라미터 코드 임베딩 모델로, 프로그래밍 코드와 자연어 쿼리를 공유하는 896차원 의미 공간으로 매핑합니다. 32K 토큰 컨텍스트 윈도우를 지원해 전체 함수 및 여러 파일 검색을 가능하게 하며, 유연한 차원성(64–896)을 위해 Matryoshka 표현 학습을 사용합니다. 이 크기에서 state-of-the-art 코드 검색 성능을 달성해, 파라미터 수가 3배인 모델을 능가합니다.
방법
모델은 자연어와 코드 코퍼스 모두에서 사전학습된 자기회귀형 트랜스퍼머 백본 위에 구축됩니다. 전통적 임베딩 모델이 사용하는 양방향 풀링 대신, 시퀀스의 마지막 위치에서 Last-Token-Pooling을 통해 임베딩을 추출합니다. 이는 핵심적인 아키텍처 통찰입니다: 자기회귀 모델의 인과적 어텐션이 자연히 전체 입력 컨텍스트를 주시하며, 코드 생성 사전학습 목표는 검색으로 잘 전환되는 풍부한 의미 표현을 생성합니다. 학습은 2단계 레시피를 사용합니다: (1) 대규모 코드-텍스트 쌍(자연어 설명과 코드 구현을 짝짓기)에서의 대비 사전학습, (2) 어려운 음의(negative) 마이닝을 포함한 큐레이션된 코드 검색 데이터셋에서의 지도 정밀조정. 32K 컨텍스트 길이는 조정된 기본 주파수를 갖는 회전 위치 임베딩(rotary position embeddings)을 통해 구현됩니다.
성능
모델은 표준 코드 검색 벤치마크에서 전체 평균 78.41%, MTEB Code 평균 78.72%를 달성합니다. 주목할 점수: HumanEval 96.77%, MBPP 89.01%, WikiSQL 98.31%, CodeChefXLang 99.70%, CodeTransOceanContest(코드-대-코드) 90.37%, COIR-CodeSearchNet(NL2Code) 85.73%, Doc2Code 95.98%, StackOverflowQA 91.04%. 코드 특화 작업에서 Qwen3-Embedding-0.6B와 jina-embeddings-v4(74.11%) 및 gemini-embedding-001(77.38%)를 포함한 더 큰 모델을 능가합니다. 494M 파라미터로 크기의 3–5배인 여러 모델을 능가하며, 자기회귀 백본 접근법이 파라미터당 높은 의미 품질을 제공함을 보여줍니다.
모범 사례
항상 적절한 작업별 지시 접두사를 사용하세요: 자연어-대-코드 검색은 nl2code, 코드-대-코드 유사도는 code2code, 코드-대-자연어는 code2nl, 기술 Q&A는 techqa, 코드 완성은 code2completion. 대형 코드베이스에서는 32K 토큰 한도를 지키기 위해 함수 또는 클래스 경계에서 청킹(chunking)을 구현하세요. Matryoshka로 128 또는 256차원으로 절단하면 높은 처리량 인덱싱에 적합하며, 상위 후보의 리랭킹에는 전체 896차원을 사용하세요. 임베딩 비교에는 코사인 유사도를 사용하세요. 최적 배치 크기는 512, 시퀀스 길이는 512토큰입니다. 모델은 Python, JavaScript, Java, PHP, Go, Ruby에 최적화되어 있지만 30개 이상 언어를 지원합니다. 코드 위 RAG 파이프라인에서는 상위 50 후보에 대한 정확도를 극대화하기 위해 2단계로 jina-reranker-v3.5를 함께 사용하세요.



