yusei926's picture
Upload README.md
1e4cc84 verified
|
raw
history blame
6.94 kB
metadata
language:
  - ja
license: apache-2.0
library_name: transformers
pipeline_tag: text-generation
base_model: Qwen/Qwen3-235B-A22B
tags:
  - cot
  - sft
  - moe
  - qwen3
  - long-context

team_suzuki_submit

本モデルは、松尾研 LLM 開発コンペ 2025 においてTeam RAMEN (Reasoning AI Model Engineering Network) が開発した大規模言語モデルである。高難度領域における推論性能の最大化を目的として、Qwen3 系 Mixture-of-Experts を基盤に Chain-of-Thought Supervised Fine-Tuning(CoT-SFT)で最適化している。数理・自然科学・人文社会など多様なドメインにおける長文かつ高負荷な推論を前提に設計した。


1. モデル仕様

  • ベースモデル: https://huggingface.co/Qwen/Qwen3-235B-A22B (Mixture-of-Experts (MoE))
  • コンテキスト長: 既定 32,768 tokens。YaRN 併用時は最大 131,072 tokens で運用を確認
  • 推論
    • リソース: H100 80GB × 8 (1 node)
  • 学習
    • 手法: CoT-SFT
    • リソース: H100 × 16 (2 node)
    • データ: 大学院レベル以上の数理・自然科学・人文社会系の公開/合成データ(件数・URL は後日追記)

2. 評価方法

2.1 Humanity’s Last Exam(HLE)

設定ファイル(conf/config.yaml

dataset: cais/hle

provider: vllm # [vllm]
base_url: http://localhost:8000/v1

model: weblab-llm-competition-2025-bridge/team_suzuki_submit
max_completion_tokens: 38000
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 テンプレート

#!/bin/bash
#SBATCH --job-name=qwen3_8gpu
#SBATCH --partition=P01
#SBATCH --nodelist=osk-gpu51
#SBATCH --nodes=1
#SBATCH --gpus-per-node=8
#SBATCH --cpus-per-task=64
#SBATCH --time=04: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= "<huggingface_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"                   # デバッグ用

#--- 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/team_suzuki_submit \
  --tensor-parallel-size 8 \
  --enable-reasoning \
  --reasoning-parser qwen3 \
  --rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}' \
  --max-model-len 131072 \
  --gpu-memory-utilization 0.95 \
  > 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.2 Do-Not-Answer(DNA)

Slurm テンプレート

#!/bin/bash
#SBATCH --job-name=qwen3_8gpu
#SBATCH --partition=P01
#SBATCH --nodelist=osk-gpu51
#SBATCH --nodes=1
#SBATCH --gpus-per-node=8
#SBATCH --cpus-per-task=64
#SBATCH --time=04: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= "<huggingface_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"                   # デバッグ用

#--- 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/team_suzuki_submit \
  --tensor-parallel-size 8 \
  --reasoning-parser qwen3 \
  --rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}' \
  --max-model-len 131072 \
  --gpu-memory-utilization 0.95 \
  > 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/team_suzuki_submit" \
    --dataset_path datasets/Instruction/do_not_answer_en.csv \
    --output_dir evaluation_results \
    --use_vllm \
    --max_questions 50 \
    --vllm_base_url http://localhost:8000/v1 > predict.log 2>&1

#--- 後片付け -------------------------------------------------------
kill $pid_vllm
kill $pid_nvsmi
wait

3. 評価結果

Benchmark DeepSeek R1 0528 Qwen3 8B Qwen3 235B A22B Ours
Humanity's Last Exam (text-only) 6.5 8.6 ??
Humanity's Last Exam Extract120 (text-only) 4.9 11.5 14.2
Do-Not-Answer 97.2 97.9 96.0