Seed-OSSは、ByteDanceのSeedチームによって開発されたオープンソースの大規模言語モデルシリーズで、長いコンテキスト処理、推論機能、エージェントタスクの最適化に焦点を当てています。Seed-OSSは、柔軟な推論バジェットコントロールを提供し、ユーザーがニーズに応じて推論の長さを調整し、実用的なアプリケーションの効率を向上させることができます。Seed-OSSはApache-2.0ライセンスを採用し、完全にオープンソースであるため、開発者は自由に使用し、変更することができます。研究、推論タスク、マルチモーダルシナリオで広く使用されており、ByteDanceの50以上の実用的なアプリケーションをサポートしています。
機能一覧
- 非常に長いコンテキスト処理長い文書や複雑なダイアログの処理に適しています。
- 予算管理のための柔軟な推論ユーザーは
thinking_budget
パラメータは推論の長さを動的に調整し、スピードと深さのバランスをとる。 - 強弁数学やコード生成などの複雑なタスクに最適化されており、AIMEやLiveCodeBenchなどのベンチマークで高い性能を発揮する。
- 国際化 最適化世界中の開発者に対応し、多言語の翻訳と理解をカバーします。
- エージェント・ミッション・サポート内蔵ツールコール機能
enable-auto-tool-choice
自動タスク処理も可能だ。 - 効率的な配備マルチGPU推論のサポート、以下の互換性
bfloat16
推論効率を最適化するためのデータ型。 - オープンソースとコミュニティ・サポートApache-2.0ライセンスに基づき、開発者が簡単にカスタマイズできるように、完全なモデルウェイトとコードを提供します。
ヘルプの使用
設置プロセス
Seed-OSSモデルを使用するには、以下の手順に従ってローカルまたはサーバーにインストールして設定してください。以下はGitHubが提供する公式ガイドに基づいたSeed-OSS-36B-Instructモデルの例です。
- クローン倉庫::
git clone https://github.com/ByteDance-Seed/seed-oss.git cd seed-oss
- 依存関係のインストール::
Python 3.8+とpipがシステムにインストールされていることを確認し、以下のコマンドを実行して必要な依存関係をインストールする:pip3 install -r requirements.txt pip install git+ssh://git@github.com/Fazziekey/transformers.git@seed-oss
- vLLMのインストール(推奨)::
Seed-OSSはより効率的な推論のためにvLLM推論フレームワークをサポートしています。vLLMをインストールします:VLLM_USE_PRECOMPILED=1 VLLM_TEST_USE_PRECOMPILED_NIGHTLY_WHEEL=1 pip install git+ssh://git@github.com/FoolPlayer/vllm.git@seed-oss
- モデルウェイトのダウンロード::
Hugging FaceからSeed-OSS-36B-Instructモデルの重りをダウンロードする:huggingface-cli download ByteDance-Seed/Seed-OSS-36B-Instruct --local-dir ./Seed-OSS-36B-Instruct
- ランタイム環境の設定::
システムが複数のGPU(NVIDIA H100など)をサポートするハードウェア環境であることを確認してください。推奨構成tensor-parallel-size=8
歌で応えるbfloat16
データ型はパフォーマンスを最適化する。 - 推論サービスの開始::
vLLMを使ってOpenAI互換のAPIサービスを開始する:python3 -m vllm.entrypoints.openai.api_server \ --host localhost \ --port 4321 \ --enable-auto-tool-choice \ --tool-call-parser seed_oss \ --trust-remote-code \ --model ./Seed-OSS-36B-Instruct \ --chat-template ./Seed-OSS-36B-Instruct/chat_template.jinja \ --tensor-parallel-size 8 \ --dtype bfloat16 \ --served-model-name seed_oss
使用方法
Seed-OSSは様々なシーンに適した使い方を提供します。以下に主な機能の詳細な操作フローを示します。
1.基本的な対話と推論
モデルと対話するためにPythonスクリプトを使用します。料理のチュートリアルを生成する例を見てみましょう:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "ByteDance-Seed/Seed-OSS-36B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
messages = [{"role": "user", "content": "How to make pasta?"}]
tokenized_chat = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
thinking_budget=512
)
outputs = model.generate(tokenized_chat.to(model.device), max_new_tokens=2048)
output_text = tokenizer.decode(outputs[0])
print(output_text)
- 主要パラメーター::
thinking_budget=512
推論の深さをコントロールし、値が高いほど推論が深くなり、複雑なタスクに適しています。max_new_tokens=2048
これは出力の長さに影響する。
2.長いコンテクスト処理
Seed-OSSは512Kトークンコンテキストをサポートしており、長い文書や複数ラウンドの対話の処理に適しています。例えば、長いレポートの分析などです:
- 長い文書の内容を、以下の結果として使用する
messages
入力、フォーマット[{"role": "user", "content": "<长文档内容>"}]
. - 高く設定する
thinking_budget
(例えば1024)、深い推論を保証する。 - 上記のスクリプトを使用して、要約を生成したり、質問に答えたりします。
3.プロキシ・タスクとツール・コール
Seed-OSSはツールの自動起動をサポートしています。 enable-auto-tool-choice
例えば、APIサービスを設定した後、HTTPリクエストによってモデルを呼び出すことができます。例えば、APIサービスを設定した後、HTTPリクエスト経由でモデルを呼び出すことができます:
curl http://localhost:4321/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "seed_oss",
"messages": [{"role": "user", "content": "Calculate 2+2"}]
}'
- モデルは自動的に適切なツール(例えば数学の計算機)を選択し、結果を返す。
- セキュア
tool-call-parser seed_oss
ツールコールを解析するために有効。
4.予算最適化の推論
を調整することができます。 thinking_budget
パラメータ最適化の推論効率
- 単純作業(翻訳など):設定
thinking_budget=128
. - 複雑なタスク(例:数学的推論):セットアップ
thinking_budget=1024
.
例
tokenized_chat = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
thinking_budget=1024
)
5.展開の最適化
- マルチGPU推論スルー
tensor-parallel-size
パラメータを使用して GPU リソースを割り当てます。例えばtensor-parallel-size=8
8GPUに対応。 - データタイプ使用
bfloat16
大規模展開のためのグラフィックスメモリフットプリントの削減。 - コンフィギュレーションの生成おすすめ
temperature=1.1
歌で応えるtop_p=0.95
を使って多様な出力を得ることができる。特定のタスク(例:Taubench)については、次のように調整できる。temperature=1
歌で応えるtop_p=0.7
.
ほら
- ハードウェア要件少なくとも1つのNVIDIA H100-80GGPUを推奨し、より高解像度のタスクには4つのGPUをサポートします。
- モデルの選択Seed-OSSにはBase版とInstruct版があり、Instruct版はインタラクティブな作業に適しており、Base版は研究や微調整に適しています。
- 地域支援GitHub を通して issue や pull request を提出し、コミュニティに貢献しましょう。
アプリケーションシナリオ
- 学術研究
- シーンの説明研究者はSeed-OSSを長い文書分析、データ抽出、複雑な推論タスクに使用することができます。例えば、学術論文の分析や研究報告の要約の作成などです。
- 多言語アプリケーション
- シーンの説明開発者は、このモデルの多言語サポートを利用して、国際化されたチャットボットや、複数の言語シナリオをカバーする翻訳ツールを構築することができます。
- オートメーション・エージェント
- シーンの説明企業はSeed-OSSをインテリジェント・エージェントとして導入し、カスタマーサービス、自動タスク・スケジューリング、データ分析を行うことができます。
- コード生成
- シーンの説明プログラマーは、このモデルを使ってコード・スニペットを生成したり、512Kのコンテキストと組み合わせて複雑なアルゴリズムをデバッグしたりして、大規模なコード・ベースを処理することができます。
- 教育支援
- シーンの説明教育機関は、教材を作成したり、生徒の質問に答えたり、個人に合わせた学習指導を行ったりするために、このモデルを利用することができる。
品質保証
- Seed-OSSはどの言語をサポートしていますか?
- このモデルは国際化されたシナリオに最適化されており、英語、中国語、スペイン語など多言語をサポートしています。具体的な性能はFLORES-200ベンチマークテストで確認できます。
- 推論予算の調整方法は?
- 生成スクリプトの設定
thinking_budget
パラメータは128(単純なタスク用)から1024(複雑なタスク用)の範囲で、タスクの要求に応じて調整される。
- 生成スクリプトの設定
- モデルの実行に必要なビデオメモリの容量は?
- H100-80G GPU 1基で基本的な推論をサポートし、4基のGPUで高負荷のタスクを処理することができます。推奨用途
bfloat16
必要なグラフィックメモリを削減。
- H100-80G GPU 1基で基本的な推論をサポートし、4基のGPUで高負荷のタスクを処理することができます。推奨用途
- どうすればモデル開発に参加できますか?
- Apache-2.0ライセンスのもと、GitHubリポジトリ(https://github.com/ByteDance-Seed/seed-oss)を通じてコードの提出や問題のフィードバックが可能です。