AI・機械学習
上級

OSS-Instruct(オーエスエスインストラクト)

オープンソースコードを基にLLMが実践的なコーディング指示データを生成する手法。Magicoder(WeiCoder et al. 2023)が提案。GitHubの実コードスニペットをシードにLLMが多様な問題・解答を生成しコード特化モデルの精度を引き上げる。

0 回閲覧
0 いいね
2026/6/8 更新
関連タグ
コード合成
Magicoder
コーディング指示
OSS
LLMファインチューニング

OSS-Instruct とは

OSS-Instruct(Open-Source Software Instruct)はWei Liu、Yuxiang Wei、Zhe Wangらが2023年12月にarXivで発表したコード特化合成データ生成手法。論文「Magicoder: Source Code Is All You Need」でMagicoderモデルとともに提案された。

Self-Instructとの根本的な違い

項目Self-InstructOSS-Instruct
シードソース人手作成175タスクGitHub実コード(75K件)
生成スタイル汎用指示タスクコーディング問題+解答
現実性抽象的になりがち実際の開発場面に即した問題
エッジケース手動で考案実コードから自然に発生
ライブラリ活用限定的実際のimport/API使用が含まれる

生成プロセス

ステップ1: コードスニペット収集

GitHub上のオープンソースリポジトリから75,000件のコードスニペットをサンプリング。Python・Java・C++・JavaScript・Go等多言語を含む。

ステップ2: 問題生成

各スニペットを見てLLMに「このコードに関連するプログラミング問題を考えてください」とプロンプト。LLMはスニペットのロジック・パターンにインスパイアされた問題を生成する。

ステップ3: 解答生成

生成した問題に対してLLMが解答コードを生成。元のスニペットとは直接コピーではなく「インスパイアされた」新しいコードを書く。

ステップ4: 品質フィルタリング

  • コードの構文エラーチェック
  • 問題文の明確さ評価
  • 解答の正確性(可能なら実行テスト)

Magicoder-Sの性能

モデルHumanEvalMBPPEvalPlus
GPT-3.5-Turbo72.671.9-
WizardCoder-34B73.273.266.9
Magicoder-S-DS-6.7B76.875.766.6

わずか6.7BパラメータのMagicoderが34BのWizardCoderを上回るHumanEvalスコアを達成した。

2025年への影響

  • DeepSeek-Coder: 類似のコード駆動合成手法を採用し100B+ tokensのコードデータを活用
  • OpenCoder: GitHub Issue/PRからの問題生成にOSS-Instructを拡張
  • StarCoder2-Instruct: コミュニティ主導でOSS-Instruct規模を5M+件に拡大

よくある質問

Q1: 著作権問題はないか? A: 元のコードをそのまま使うのではなく「インスパイアされた新コード」を生成するため著作権リスクは低いとされるが、ライセンスに敏感な企業では弁護士確認が推奨される。

Q2: どの言語に対応しているか? A: 原論文ではPython中心だが、GitHubの多言語コードをシードに使えば対応言語を拡張できる。

Q3: General(非コード)タスクにも使えるか? A: コンセプトは転用可能。論文・ドキュメント等を参照して一般指示データを生成する手法(DocInstruct等)として応用されている。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/8