模型訓練與程式碼 AI
OctoLong、ライブラリ横断の依存関係チェーンで長文脈モデルを訓練、8B版のRepoQAスコアが64.63に向上
OctoLongは、単一のライブラリをそのまま連結して長いテキストにするのではなく、AST、言語サーバー、パッケージの依存関係をたどって実装を再帰的に収集する。研究チームは600Mから14Bまでのモデルを公開し、実験では依存関係が密なデータによってコード検索、状態追跡、API利用が同時に改善された。

長文脈モデルが128K tokenに対応していても、複数のパッケージに分散した実際の依存関係を追跡できるとは限らない。OctoLongはまず、GitHub Starsが15以上で、コントリビューターが5人を超えるPythonプロジェクトを選定する。次に、依存パッケージをインストールしたコンテナ内で、ASTクエリ、JEDI言語サーバー、パッケージマネージャーを組み合わせ、シード関数から呼び出されるクラスやその実装をたどって収集する。生成された57,993件のサンプルは平均約107K tokenで、合計62億tokenに達する。著者らはLongPPLによる診断から、文脈依存性の高い重要tokenが一般的な長文テキストの3~23倍含まれていると評価している。
チームはこのデータを、約500億tokenからなる長文脈の中期訓練用混合データに約12%の比率で追加し、その後、約100億tokenのinstruction fine-tuningを実施した。5種類のモデルはいずれもQwen3のdenseモデルをベースとし、パラメーター数は600Mから14B。RoPE base frequencyを引き上げることで、コンテキスト長を32Kから128Kへ拡張した。さらに、短い入力に対する能力低下を抑えるため、元のチェックポイントと中期訓練後のチェックポイントを1:9の比率で線形マージしている。
著者らが統一した設定で評価したところ、OctoLong-8BはLooGLE V2 Code、LongCodeQA、RepoQAでそれぞれ平均29.76、65.01、64.63を記録した。ライブラリ横断データを除外すると、それぞれ26.38、62.17、61.58に低下した。14B版は同じ3つのベンチマークで39.88、77.98、76.01に達した。ただし、すべての評価で優位だったわけではない。4B版は一般的な長文テキストのベンチマークで、同じベースモデルのQwen3-4Bを下回り、14B版のAA-LCRもQwen2.5-14B-1Mを下回った。データは英語とPythonのみを対象としており、128Kを超えるコンテキストや、ABIおよびFFIを介した言語横断呼び出しは未検証である。エンジニアリングチームは今後、訓練データとパイプラインが完全に公開されるか、また実際のmonorepo、プライベートパッケージ、多言語ビルドシステムで結果を再現できるかに注目すべきだ。