marin-community/marin
Open-source framework for the research and development of foundation models.
Marin – 基盤言語モデルの構築を目的としたオープンソースプラットフォーム
何であるか
- 大規模言語モデルのライフサイクル全体(データキュレーション、トークン化、事前学習、事後学習、評価)に焦点を当てた研究用ソフトウェアスタック(およびコミュニティ)。
- オープン開発 を設計:すべての実験、設定、さらには失敗した実行も記録され、公開される。
コア機能
| 分野 | Marinが提供するもの |
|---|---|
| 実験定義 | Makefileに似た宣言的でステップベースのパイプライン。データ準備、学習、評価を記述。ステップは遅延評価され、互いに依存可能。 |
| スケーリングツールセット – Delphi | コンピューティング予算からモデルサイズへのマッピングを可能にするレシピ。Google TPU Research Cloudで実行されるスケーリング法実験、およびMixture-of-Experts(MoE)パイプラインの再現コード。チェックポイントとプロット用データはHugging Faceにホスト。 |
| Mixture-of-Expertsサポート | 公開データセット(Nemotron-CC、StarCoderData、ProofPile 2)の決定論的混合と、MoEの負荷バランス(分位数バランス)のためのツール。 |
| 最適化・学習ユーティリティ | 設定可能なAdamのバリエーション(CompletedAdamHParams)、リソース仕様(ResourceConfig)、および事前定義されたモデル(例:llama_nano)。 |
| 拡張可能なエージェントスキル | 一般的なワークフロー手順を自動化するロード可能な「スキル」(例:add_scaling_heuristic、add-dataset)。 |
| ドキュメントとチュートリアル | ReadTheDocs上の完全なドキュメント、小さなモデルのトレーニング用クイックスタートガイド、および大規模な例(1BパラメータのDCLM、8Bおよび32Bモデル)。 |
一般的なワークフロー(小さなモデルの例)
# 1️⃣ データセットを遅延トークン化
tinystories = tokenized(
name="tokenized/tinystories",
source="roneneldan/TinyStories",
tokenizer=marin_tokenizer,
sample_count=1_000,
)
# 2️⃣ トークン化されたデータに依存する学習ステップを定義
nano_model = train_lm(
name="checkpoints/marin-nano-tinystories",
version="v1",
model=llama_nano,
optimizer=AdamConfig(learning_rate=6e-4, weight_decay=0.1),
datasets={tinystories: 1.0},
batch_size=4,
seq_len=2048,
num_train_steps=100,
resources=ResourceConfig.with_cpu(),
)
# 3️⃣ パイプラインを実行
StepRunner().run([lower(nano_model)])
同じパターンはマルチGPU/TPUポッド、および多数のデータセットの混合にもスケーリング可能。
導入方法
- インストールガイドを読む:
docs/tutorials/installation.md。 - 小さなモデルのチュートリアルを実行(
docs/tutorials/first-experiment.md)。 - 大規模トレーニングガイドに従う(
docs/tutorials/train-an-lm.md)。 - 実験カタログを閲覧(
docs/reports/index.md)。 - Discordでコミュニティに参加し、サポートや協働を受ける。
コミュニティと支援
- コア貢献者はStanford CRFMおよびOpen Athenaから。
- Google TPU Research Cloud、Jen-Hsun & Lori Huang Foundation、Siegel Family Endowment、Schmidt Sciencesによって支援されている。
なぜ重要か Marinは、最先端規模のLLM研究を再現可能かつ透明にすることを目指している。データパイプライン、スケーリング法、MoEバランスを含む完全なトレーニングスタックをオープンソース化することで、研究者は基盤インフラを再発明せずに、大規模モデルを構築・比較・拡張できる。
リンク
- 📚 ドキュメント: https://marin.readthedocs.io
- 🐙 ソースコード: https://github.com/marin-community/marin
- 🤖 モデルチェックポイント(Delphi): https://huggingface.co/collections/marin-community/delphi-69f93cbd09845c03b070bae9
- 💬 Discord: https://discord.gg/J9CTk7pqcM
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト