---
title: alpha-umi-toolbench-processed-json_format
canonical_url: "https://www.modelscope.cn/datasets/shenweizhou/alpha-umi-toolbench-processed-json_format"
md_url: "https://www.modelscope.cn/datasets/shenweizhou/alpha-umi-toolbench-processed-json_format.md"
repository: shenweizhou/alpha-umi-toolbench-processed-json_format
last_updated: 2024-04-23
license: "Apache License 2.0"
storage_size: "15 GB"
downloads: 542
stars: 3
---

# alpha-umi-toolbench-processed-json_format

> alpha-umi-toolbench-processed-json_format - shenweizhou 在 ModelScope 开源的数据集。alpha-umi-toolbench-processed-jsonformat

shenweizhou/alpha-umi-toolbench-processed-json_format 是 ModelScope 魔搭社区上的数据集，存储大小 15 GB，采用 Apache License 2.0 许可。

- **Repository**: shenweizhou/alpha-umi-toolbench-processed-json_format
- **License**: Apache License 2.0
- **Storage size**: 15 GB
- **Downloads**: 542
- **Stars**: 3
- **Last updated**: 2024-04-23

Source: https://www.modelscope.cn/datasets/shenweizhou/alpha-umi-toolbench-processed-json_format

---

## alpha-umi-toolbench-processed-json_format

alpha-umi [github repo](https://github.com/X-PLUG/Multi-LLM-Agent) 使用的预处理数据集完整数据。可直接用于GLPFT训练。

### 数据下载
```

git lfs install
git clone https://www.modelscope.cn/datasets/shenweizhou/alpha-umi-toolbench-processed-json_format.git

```
将下载后的模型放到alpha-umi项目路径的```dataset/toolbench/train```路径下

### GLPFT训练（详情参考git repo）

我们的α-UMi采用了两阶段的GLPFT微调方法，首先对主干大型语言模型（LLM）进行预热，然后分别对planner、caller、summarizer进行微调。
1. 首先，我们对一个LLM底座进行微调，使其学习整个工具调用智能体任务。
```
cd ./GLPFT

LLAMA_PATH="" # your path for initial LLM checkpoint
NNODE=8
PORT=12345
BSZ=6
GA=1

EXP_NAME=/toolbench/backbone  # path to save model
export PYTHONPATH=./
torchrun --nproc_per_node=$NNODE --master_port=$PORT train_mem.py \
    --model_name_or_path $LLAMA_PATH  \
    --data_path dataset/toolbench/train/train_backbone.json\
    --output_dir saved_models/$EXP_NAME \
    --num_train_epochs 2 \
    --per_device_train_batch_size $BSZ \
    --per_device_eval_batch_size $BSZ \
    --gradient_accumulation_steps $GA \
    --evaluation_strategy "no" \
    --eval_steps 0 \
    --save_strategy "steps" \
    --save_steps 500 \
    --save_total_limit 8 \
    --learning_rate 5e-5 \
    --warmup_ratio 0.4 \
    --lr_scheduler_type "cosine" \
    --gradient_checkpointing True \
    --deepspeed ds_configs/stage3-a100.json \
    --bf16 \
    --logging_steps 2 \
    --model_max_length 4096 \
    --report_to none \
    --lazy_preprocess True 

```


2. 在获得了backbone模型后，我们开始基于这个模型对planner、caller和summarizer进行微调：


```
cd ./GLPFT

NNODE=8
PORT=12345
BSZ=6
GA=1


BB_PATH="saved_models/toolbench/backbone"


EXP_NAME=/toolbench/planner
export PYTHONPATH=./
torchrun --nproc_per_node=$NNODE --master_port=$PORT train_mem.py \
    --model_name_or_path $BB_PATH  \
    --data_path dataset/toolbench/train/train_planner.json \
    --output_dir saved_models/$EXP_NAME \
    --num_train_epochs 1 \
    --per_device_train_batch_size $BSZ \
    --per_device_eval_batch_size $BSZ \
    --gradient_accumulation_steps $GA \
    --evaluation_strategy "no" \
    --eval_steps 0 \
    --save_strategy "steps" \
    --save_steps 500 \
    --save_total_limit 8 \
    --learning_rate 1e-5 \
    --weight_decay 0.01 \
    --warmup_ratio 0.2 \
    --lr_scheduler_type "cosine" \
    --gradient_checkpointing True \
    --bf16 \
    --logging_steps 2 \
    --model_max_length 4096 \
    --report_to none \
    --lazy_preprocess True



EXP_NAME=/toolbench/caller
export PYTHONPATH=./
torchrun --nproc_per_node=$NNODE --master_port=$PORT train_mem.py \
    --model_name_or_path $BB_PATH  \
    --data_path dataset/toolbench/train/train_caller.json \
    --output_dir saved_models/$EXP_NAME \
    --num_train_epochs 1 \
    --per_device_train_batch_size $BSZ \
    --per_device_eval_batch_size $BSZ \
    --gradient_accumulation_steps $GA \
    --evaluation_strategy "no" \
    --eval_steps 0 \
    --save_strategy "steps" \
    --save_steps 500 \
    --save_total_limit 8 \
    --learning_rate 1e-5 \
    --weight_decay 0.01 \
    --warmup_ratio 0.2 \
    --lr_scheduler_type "cosine" \
    --gradient_checkpointing True \
    --bf16 \
    --logging_steps 2 \
    --model_max_length 4096 \
    --report_to none \
    --lazy_preprocess True


EXP_NAME=/toolbench/summarizer
export PYTHONPATH=./
torchrun --nproc_per_node=$NNODE --master_port=$PORT train_mem.py \
    --model_name_or_path $BB_PATH  \
    --data_path dataset/toolbench/train/train_summarizer.json \
    --output_dir saved_models/$EXP_NAME \
    --num_train_epochs 2 \
    --per_device_train_batch_size $BSZ \
    --per_device_eval_batch_size $BSZ \
    --gradient_accumulation_steps $GA \
    --evaluation_strategy "no" \
    --eval_steps 0 \
    --save_strategy "steps" \
    --save_steps 500 \
    --save_total_limit 8 \
    --learning_rate 1e-5 \
    --weight_decay 0.01 \
    --warmup_ratio 0.4 \
    --lr_scheduler_type "cosine" \
    --gradient_checkpointing True \
    --bf16 \
    --logging_steps 2 \
    --model_max_length 4096 \
    --report_to none \
    --lazy_preprocess True


```
