概要
jina-code-embeddings-0.5b は 494M パラメータのコード埋め込みモデルで、プログラミングコードと自然言語クエリを共有する 896 次元の意味空間にマッピングします。32K トークンのコンテキストウィンドウをサポートし、関数全体や複数ファイルの検索を可能にし、柔軟な次元性(64–896)のために Matryoshka 表現学習を使用します。そのサイズで state-of-the-art のコード検索性能を達成し、パラメータ数が 3 倍のモデルを上回ります。
方法
モデルは、自然言語コーパスとコードコーパスの両方で事前学習された自己回帰型トランスフォーマーバックボーンに基づいています。従来の埋め込みモデルが使用する双方向プーリングではなく、シーケンスの最終位置から Last-Token-Pooling により埋め込みを抽出します。これは重要なアーキテクチャ上の洞察です:自己回帰モデルの因果的アテンションは自然に完全な入力コンテキストを参照し、コード生成事前学習の目標は検索に良好に転移する豊かな意味的表現を生成します。学習は 2 段階のレシピを使用します:(1) 大規模なコード-テキストペア(自然言語の説明とコード実装のペア)での対比事前学習、(2) ハードネガティブマイニングを用いた精選コード検索データセットでの教師ありファインチューニング。32K のコンテキスト長は、調整済みの基礎周波数を持つロータリー位置埋め込みによって実現されています。
パフォーマンス
モデルは標準的なコード検索ベンチマークで、全体平均 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 トークンの制限内に収めるため、関数やクラス境界でチャンキングを実装してください。Matryoshka による 128 または 256 次元への切り詰めは高スループットのインデックス作成に適しています。トップ候補のリランキングには 896 次元すべてを使用してください。埋め込みの比較にはコサイン類似度を使用してください。最適なバッチサイズは 512、シーケンス長は 512 トークンです。モデルは Python、JavaScript、Java、PHP、Go、Ruby に最適化されていますが、30 以上の言語をサポートしています。コードに対する RAG パイプラインでは、トップ 50 候補の精度を最大化するため、第 2 ステージとして jina-reranker-v3.5 を組み合わせることを推奨します。



