🚀 Seed-Coder-8B-Base
Seed-Coderは、8B規模の強力で透明性が高く、パラメータ効率の良いオープンソースコードモデルのファミリーです。これには、ベース、インストラクト、推論のバリエーションがあり、オープンコードモデルの進化を促進することに貢献します。
🚀 クイックスタート
ここでは、Hugging Faceのpipeline
APIを使用してモデルをロードし、コード生成を行う簡単な例を示します。
import transformers
import torch
model_id = "ByteDance-Seed/Seed-Coder-8B-Base"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
output = pipeline("def say_hello_world():", max_new_tokens=100)
print(output[0]["generated_text"])
中間埋め込み (FIM) の例
Seed-Coder-8B-Baseは、中間埋め込み (Fill-in-the-Middle, FIM) タスクをネイティブにサポートしています。このタスクでは、モデルに接頭辞と接尾辞を与え、欠落している中間の内容を予測するよう要求します。これにより、関数本体の完成や2つのコード片の間に欠落したロジックを挿入するなどのコード埋め込みシナリオが可能になります。
典型的な例を次に示します。
import transformers
import torch
model_id = "ByteDance-Seed/Seed-Coder-8B-Base"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
prefix = "def add_numbers(a, b):\n "
suffix = "\n return result"
fim_input = '<[fim-suffix]>' + suffix + '<[fim-prefix]>' + prefix + '<[fim-middle]>'
output = pipeline(fim_input, max_new_tokens=512)
print(output[0]["generated_text"])
✨ 主な機能
- モデル中心のアプローチ:Seed-Coderは、コードデータのフィルタリングに手作業によるルールではなくLLMを主に利用しており、事前学習データの構築における手作業を最小限に抑えています。
- 透明性:モデル中心のデータパイプラインに関する詳細な洞察を公開しています。これには、GitHubデータ、コミットデータ、およびコード関連のWebデータの選別方法が含まれます。
- 強力な性能:Seed-Coderは、様々なコーディングタスクにおいて、同等の規模のオープンソースモデルの中で最先端の性能を達成しています。
📦 インストール
最新バージョンのtransformers
とaccelerate
をインストールする必要があります。
pip install -U transformers accelerate
💻 使用例
基本的な使用法
import transformers
import torch
model_id = "ByteDance-Seed/Seed-Coder-8B-Base"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
output = pipeline("def say_hello_world():", max_new_tokens=100)
print(output[0]["generated_text"])
高度な使用法
import transformers
import torch
model_id = "ByteDance-Seed/Seed-Coder-8B-Base"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
prefix = "def add_numbers(a, b):\n "
suffix = "\n return result"
fim_input = '<[fim-suffix]>' + suffix + '<[fim-prefix]>' + prefix + '<[fim-middle]>'
output = pipeline(fim_input, max_new_tokens=512)
print(output[0]["generated_text"])
📚 ドキュメント
このリポジトリにはSeed-Coder-8B-Baseモデルが含まれており、以下の特徴があります。
属性 |
详情 |
モデルタイプ |
因果言語モデル |
学習段階 |
事前学習 |
データソース |
GitHubデータ、コード関連のWebデータ |
学習トークン数 |
6兆 |
サポート機能 |
コード補完、コード埋め込み (中間埋め込み) |
コンテキスト長 |
32,768 |
モデルのダウンロード
モデル名 |
長さ |
ダウンロード |
注意事項 |
👉 Seed-Coder-8B-Base |
32K |
🤗 モデル |
モデル中心のコードデータで事前学習されています。 |
Seed-Coder-8B-Instruct |
32K |
🤗 モデル |
ユーザーの意図に合わせて命令調整されています。 |
Seed-Coder-8B-Reasoning |
64K |
🤗 モデル |
推論能力を向上させるために強化学習されています。 |
Seed-Coder-8B-Reasoning-bf16 |
64K |
🤗 モデル |
推論能力を向上させるために強化学習されています。 |
🔧 技術詳細
Seed-Coder-8B-Baseは、コード生成、コード補完、およびコード推論のベンチマークで評価されており、約8Bのオープンソースモデルの中で最先端の性能を達成しています。
|
DeepSeek-Coder-6.7B-Base |
OpenCoder-8B-Base |
Qwen2.5-Coder-7B |
Seed-Coder-8B-Base |
HumanEval |
47.6 |
66.5 |
72.0 |
77.4 |
MBPP |
70.2 |
79.9 |
79.4 |
82.0 |
MultiPL-E |
44.7 |
61.0 |
58.8 |
67.6 |
cruxeval-O |
41.0 |
43.9 |
56.0 |
54.8 |
詳細なベンチマーク性能については、📑 技術レポートを参照してください。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。