小型AIの訓練法を改善し評価
AllenAI Open Instruct Tulu 3 Post-Training with SFT, DPO, RLVR, GRPO, and Verifier-Based Evaluation

AllenAIは、小型の文章作成AI「Tulu 3」を、少ない計算資源で効率的に訓練し、性能を評価する手法を公開。限られた環境でも高性能AIの開発が可能になります。
このチュートリアルでは、AllenAIのOpen Instructフレームワークを使用して、コンパクトな命令チューニング済み言語モデルのためのエンドツーエンドのpost-trainingパイプラインを構築します。我々は、Supervised Fine-Tuning、Direct Preference Optimization、およびGRPOを使用したReinforcement Learning with Verifiable Rewardsという3つの主要な訓練段階を経て、元のマルチGPU Tulu 3スタックを16 GBのランタイムに収まるように適応させます。我々はOpen Instructリポジトリをクローンし、そのネイティブの損失関数とユーティリティ関数を選択的にロードし、LoRAアダプターを設定し、各訓練段階のためにGSM8Kデータを準備し、決定論的ベリファイアを使用して生成された数学的回答を評価します。ワークフロー全体を通じて、Open Instructのコア最適化ロジックを維持しつつ、vLLM、Ray actors、DeepSpeed、非同期ロールアウトキューなどの分散コンポーネントを、Colabに適した軽量なHugging FaceおよびPyTorchの実装に置き換えます。Copy Code Copied Use a different Browser import os, sys, subprocess, textwrap, json, math, random, re, ast, types, dataclasses, gc, contextlib REPO_URL = "https://github.com/allenai/open-instruct.git" REPO_DIR = "/content/open-instruct" if os.path.isdir("/content") else "./open-instruct" PIP_PKGS = [ "peft", "accelerate", "ray", "wandb", "beaker-py", "langdetect==1.0.9", "immutabledict==1.2.0", "nltk", "absl-py", "sympy", "antlr4-python3-runtime==4.11", "tiktoken", ] def sh(*args): print("$", " ".join(args)) subprocess.run(args, check=False) def setup(): sh(sys.executable, "-m", "pip", "install", "-q", *PIP_PKGS) if not os.path.isdir(REPO_DIR): sh("git", "clone", "--depth", "1", REPO_URL, REPO_DIR) if REPO_DIR not in sys.path: sys.path.insert(0, REPO_DIR) os.environ.setdefault("WANDB_MODE", "disabled") os.environ.setdefault("TOKENIZERS_PARALLELISM", "false") os.environ.setdefault("RAY_DISABLE_IMPORT_WARNING", "1") setup() import numpy as np import torch import torch.nn.functional as F from torch.utils.data import DataLoader from datasets import load_dataset, Dataset from transf
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。