--- language: [ja] license: apache-2.0 library_name: transformers pipeline_tag: text-generation base_model: Qwen/Qwen3-235B-A22B-Thinking-2507 tags: [moe, qwen3] --- # RAMEN-SHIO-235B RAMEN-SHIO-235B は、松尾研 LLM 開発コンペ 2025 において Team RAMEN (Reasoning AI Model Engineering Network) が開発した大規模言語モデルです。高難度領域における推論性能の最大化を目的として、Qwen3 系 Mixture-of-Experts (MoE) を基盤に Direct Preference Optimization (DPO) で最適化しています。数理・自然科学・人文社会など多様なドメインにおける長文かつ高負荷な推論を前提に設計されました。 --- ## 1. モデル仕様 ### 基本情報 - **ベースモデル**: [Qwen/Qwen3-235B-A22B-Thinking-2507](https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507) - **学習手法**: Direct Preference Optimization (DPO) - **対象ドメイン**: 大学院レベル以上の数理・自然科学・人文社会系 ### システム要件 #### 推論環境 - **推奨構成**: H100 80GB × 16 (2 node) または H100 80GB × 8 (1 node) - **実行環境**: vLLM 0.10.1.1(検証済み) #### 学習環境 - **リソース**: H100 × 32 (4 node) - **データ**: [weblab-llm-competition-2025-bridge/RAMEN-phase2](https://huggingface.co/datasets/weblab-llm-competition-2025-bridge/RAMEN-phase2) - 大学院レベル以上の数理・自然科学・人文社会系の公開/合成データ --- ## 2. 評価方法 ### 共通設定 - **実行環境**: vLLM 0.10.1.1 - **注意事項**: 本READMEに記載の設定ファイルおよびSlurmテンプレートは、運営提供の公式コードを基に最適化した推奨構成です ### 2.1 Humanity's Last Exam(HLE) #### 概要 - **評価コード**: [matsuolab/llm_bridge_prod/eval_hle](https://github.com/matsuolab/llm_bridge_prod/tree/master/eval_hle) - **データセット**: 2,158件(text-only) - **実行方法**: 全問が一度で完了しない場合は、複数回に分けて実行 - **推奨実行順**: 2ノード → 1ノード(失敗時) #### 設定ファイル(`conf/config.yaml`) ```yaml dataset: cais/hle provider: vllm # [vllm] base_url: http://localhost:8000/v1 model: weblab-llm-competition-2025-bridge/RAMEN-SHIO-235B max_completion_tokens: 90000 reasoning: true # sample with multimodal is 2500, so text-only sample is about 2400 num_workers: 2500 max_samples: 2500 judge: o3-mini-2025-01-31 ``` #### Slurm テンプレート **1ノード実行** ```bash #!/bin/bash #SBATCH --job-name=ramen_shio_235b_8gpu #SBATCH --partition=P01 #SBATCH --nodelist=osk-gpu51 #SBATCH --nodes=1 #SBATCH --gpus-per-node=8 #SBATCH --cpus-per-task=240 #SBATCH --time=3-00:00:00 #SBATCH --output=/home/Competition2025/adm/X006/logs/%x-%j.out #SBATCH --error=/home/Competition2025/adm/X006/logs/%x-%j.err #SBATCH --export=OPENAI_API_KEY="openai_api_keyをここに" #--- モジュール & Conda -------------------------------------------- module purge module load cuda/12.6 miniconda/24.7.1-py312 module load cudnn/9.6.0 module load nccl/2.24.3 source "$(conda info --base)/etc/profile.d/conda.sh" conda activate llmbench #--- Hugging Face 認証 -------------------------------------------- export HF_TOKEN="" export HF_HOME=${SLURM_TMPDIR:-$HOME}/.hf_cache export TRANSFORMERS_CACHE=$HF_HOME export HUGGINGFACE_HUB_TOKEN=$HF_TOKEN mkdir -p "$HF_HOME" echo "HF cache dir: $HF_HOME" #--- メモリ/性能チューニング ---------------------------------------- export PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True" #--- GPU 監視 ----------------------------------------------------- nvidia-smi -i 0,1,2,3,4,5,6,7 -l 3 > nvidia-smi.log & pid_nvsmi=$! #--- vLLM 起動(8GPU)------------------------------------------- vllm serve weblab-llm-competition-2025-bridge/RAMEN-SHIO-235B \ --tensor-parallel-size 4 \ --pipeline-parallel-size 2 \ --enable-expert-parallel \ --gpu-memory-utilization 0.85 \ --disable-custom-all-reduce \ --max-model-len 131072 \ > vllm.log 2>&1 & pid_vllm=$! #--- ヘルスチェック ----------------------------------------------- until curl -s http://127.0.0.1:8000/health >/dev/null; do echo "$(date +%T) vLLM starting..." sleep 10 done echo "vLLM READY" #--- 推論 ------------------------------------------------------- python predict.py > predict.log 2>&1 #--- 評価 ------------------------------------------------------- OPENAI_API_KEY=xxx python judge.py #--- 後片付け --------------------------------------------------- kill $pid_vllm kill $pid_nvsmi wait ``` **2ノード実行(Ray クラスタ方式)** 1. `jobs/ray_cluster.sh` を使用してRayクラスターを起動 2. パーティション、ノードリスト、ログファイルを設定 3. SSHで出力されたheadノードに接続 4. モジュールとcondaを読み込み、vLLMを起動(Rayクラスターを自動認識) - **注意**: 2ノード実行時は以下の設定に変更してください - `--max-model-len 262144` - `max_completion_tokens: 131072` (config.yaml内) 5. 上記スクリプトからvLLM起動とヘルスチェックを削除し、設定を修正後に推論を実行 ### 2.2 Do-Not-Answer(DNA) #### 概要 - **評価コード**: [matsuolab/llm_bridge_prod/eval_dna](https://github.com/matsuolab/llm_bridge_prod/tree/master/eval_dna) - **データセット**: 939問 #### Slurm テンプレート ```bash #!/bin/bash #SBATCH --job-name=ramen_shio_235b_dna_8gpu #SBATCH --partition=P01 #SBATCH --nodelist=osk-gpu51 #SBATCH --nodes=1 #SBATCH --gpus-per-node=8 #SBATCH --cpus-per-task=240 #SBATCH --time=3-00:00:00 #SBATCH --output=/home/Competition2025/adm/X006/logs/%x-%j.out #SBATCH --error=/home/Competition2025/adm/X006/logs/%x-%j.err #SBATCH --export=OPENAI_API_KEY="openai_api_keyをここに" #--- モジュール & Conda -------------------------------------------- module purge module load cuda/12.6 miniconda/24.7.1-py312 module load cudnn/9.6.0 module load nccl/2.24.3 source "$(conda info --base)/etc/profile.d/conda.sh" conda activate llmbench #--- Hugging Face 認証 -------------------------------------------- export HF_TOKEN="" export HF_HOME=${SLURM_TMPDIR:-$HOME}/.hf_cache export TRANSFORMERS_CACHE=$HF_HOME export HUGGINGFACE_HUB_TOKEN=$HF_TOKEN mkdir -p "$HF_HOME" echo "HF cache dir: $HF_HOME" #--- メモリ/性能チューニング ---------------------------------------- export PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True" #--- GPU 監視 ----------------------------------------------------- nvidia-smi -i 0,1,2,3,4,5,6,7 -l 3 > nvidia-smi.log & pid_nvsmi=$! #--- 必要なディレクトリを作成 -------------------------------------- mkdir -p evaluation_results #--- vLLM 起動(8GPU)------------------------------------------- vllm serve weblab-llm-competition-2025-bridge/RAMEN-SHIO-235B \ --tensor-parallel-size 4 \ --pipeline-parallel-size 2 \ --enable-expert-parallel \ --gpu-memory-utilization 0.85 \ --disable-custom-all-reduce \ --max-model-len 131072 \ > vllm.log 2>&1 & pid_vllm=$! #--- ヘルスチェック ----------------------------------------------- until curl -s http://127.0.0.1:8000/health >/dev/null; do echo "$(date +%T) vLLM starting..." sleep 10 done echo "vLLM READY" #--- 推論 ------------------------------------------------------- python llm-compe-eval/evaluate_huggingface_models.py \ --model_name "weblab-llm-competition-2025-bridge/RAMEN-SHIO-235B" \ --dataset_path datasets/Instruction/do_not_answer_en.csv \ --output_dir evaluation_results \ --use_vllm \ --max_questions 939 \ --vllm_base_url http://localhost:8000/v1 > predict.log 2>&1 #--- 後片付け --------------------------------------------------- kill $pid_vllm kill $pid_nvsmi wait ``` --- ## 3. 評価結果 | Benchmark | RAMEN-MISO
予選モデル | Qwen3-235B-A22B-Thinking-2507 (ベースモデル) | RAMEN-SHIO-235B | |----------------------------------------------|---------------------------|-----------------------------------------------|------------------| | Humanity's Last Exam (text-only) | 11.12 | 17.92 | 18.58 | | Humanity's Last Exam 300-split1 | -- | 1回目: 16.42 ±4.44
2回目: 18.28 ±4.63
3回目: 19.48 ±4.75 | 1回目: 21.64 ±4.93
2回目: 18.22 ±4.61
3回目: 18.49 ±4.67 | | Do-Not-Answer | 91.80 | -- | -- | **注記**: HLE 300-split1 は、公式データセット(cais/hle)のtext-only問題から272問を抽出したサブセットです。 --- ## 4. 使用上の注意 ### リソース要件 - 推論には最低でもH100 80GB × 8が必要 - メモリ使用量を最適化するため、`expandable_segments:True`設定を推奨 - 長時間の推論タスクでは72時間のタイムアウト設定を推奨 ### トラブルシューティング - 2ノード実行で失敗した場合は、1ノード構成で再試行 - vLLM起動時にメモリ不足が発生した場合は、`gpu-memory-utilization`を0.85に下げて調整 - 推論が途中で停止する場合は、複数回に分けて実行 #### よくあるエラーと対策 **Engine core initialization failed エラー** ``` RuntimeError: Engine core initialization failed. See root cause above. Failed core proc(s): {'EngineCore_0': 1} ``` - **対策**: このエラーが発生した場合は、ジョブを再実行してください - **原因**: モデル初期化時の一時的なリソース競合やメモリ問題が原因 - **備考**: 通常は再実行により解決されます **torch._inductor モジュールエラー** ``` OSError: could not get source code ``` - **対策**: このエラーが発生した場合は、ジョブを再実行してください - **原因**: PyTorchの内部モジュール読み込み時の一時的な問題 - **備考**: 環境の一時的な状態により発生し、再実行で解決されます **再実行でも解決しない場合** 上記のエラーが再実行でも解決しない場合は、以下のキャッシュ削除を試してください: ```bash # vLLM や torch.compile のキャッシュ削除 rm -rf ~/.cache/vllm rm -rf ~/.cache/torch # スクリプトが参照しているキャッシュの削除 rm -rf ~/.cache/vllm/torch_compile_cache ``` --- ## 5. ライセンス Apache 2.0ライセンスの下で提供されます。詳細は[LICENSE](LICENSE)ファイルを参照してください。 --- ## 6. 引用 本モデルを研究で使用される場合は、以下の引用をお願いします: ```bibtex @misc{ramen_shio_235b_2025, title={RAMEN-SHIO-235B: Reasoning AI Model Engineering Network}, author={Team RAMEN}, year={2025}, note={松尾研 LLM 開発コンペ 2025} } ```