跨服战场

使用Model Gallery完成Qwen2.5

通过PAI-Model Gallery使用模型模型部署和调用进入Model Gallery页面。

登录PAI控制台。

在顶部左上角根据实际情况选择地域。

在左侧导航栏选择工作空间列表,单击指定工作空间名称,进入对应工作空间内。

在左侧导航栏选择快速开始 > Model Gallery。

在Model Gallery页面右侧的模型列表中,单击通义千问2.5-Coder-32B-Instruct模型卡片,进入模型详情页面。

单击右上角部署,配置推理服务名称以及部署使用的资源信息,即可将模型部署到EAS推理服务平台。

使用推理服务。

服务部署成功后,您可以参考模型详情页面的推理方法,调用模型服务以验证模型效果。

模型微调训练Model Gallery为通义千问2.5-Coder-32B-Instruct模型配置了SFT和DPO两种微调算法,您可以通过开箱即用的方式对该模型进行微调。

SFT监督微调SFT训练算法支持使用JSON格式输入,每条数据由问题、答案组成,分别用"instruction"、"output"字段表示,例如:

[

{

"instruction": "Create a function to calculate the sum of a sequence of integers.",

"output": "# Python code\ndef sum_sequence(sequence):\n sum = 0\n for num in sequence:\n sum += num\n return sum"

},

{

"instruction": "Generate a Python code for crawling a website for a specific type of data.",

"output": "import requests\nimport re\n\ndef crawl_website_for_phone_numbers(website):\n response = requests.get(website)\n phone_numbers = re.findall('\\d{3}-\\d{3}-\\d{4}', response.text)\n return phone_numbers\n \nif __name__ == '__main__':\n print(crawl_website_for_phone_numbers('www.example.com'))"

}

]DPO直接偏好优化DPO训练算法支持使用JSON格式输入,每条数据由问题、预期模型输出的答案、不希望模型输出的答案组成,分别用"prompt"、"chosen"、"rejected"字段表示,例如:

[

{

"prompt": "Create a function to calculate the sum of a sequence of integers.",

"chosen": "# Python code\ndef sum_sequence(sequence):\n sum = 0\n for num in sequence:\n sum += num\n return sum",

"rejected": "[x*x for x in [1, 2, 3, 5, 8, 13]]"

},

{

"prompt": "Generate a Python code for crawling a website for a specific type of data.",

"chosen": "import requests\nimport re\n\ndef crawl_website_for_phone_numbers(website):\n response = requests.get(website)\n phone_numbers = re.findall('\\d{3}-\\d{3}-\\d{4}', response.text)\n return phone_numbers\n \nif __name__ == '__main__':\n print(crawl_website_for_phone_numbers('www.example.com'))",

"rejected": "def remove_duplicates(string): \n result = \"\" \n prev = '' \n\n for char in string:\n if char != prev: \n result += char\n prev = char\n return result\n\nresult = remove_duplicates(\"AAABBCCCD\")\nprint(result)"

}

]在模型详情页单击右上角训练。关键配置如下:

数据集配置:当完成数据的准备,您可以将数据上传到对象存储OSS Bucket中,或是通过指定一个数据集对象,选择NAS或CPFS存储上的数据集。您也可以使用PAI预置的公共数据集,直接提交任务测试算法。

计算资源配置:算法需要使用80 GB显存及以上的GPU资源,请确保选择使用的资源配额内有充足的计算资源。其他规模的模型所需资源规格,请参见运行环境要求。

超参数配置:训练算法支持的超参信息如下,您可以根据使用的数据,计算资源等调整超参,或是使用算法默认配置的超参。

超参数

类型

默认值

是否必须

描述

training_strategy

string

sft

训练算法,可以为SFT或DPO。

learning_rate

float

5e-5

学习率,用于控制模型权重,调整幅度。

num_train_epochs

int

1

训练数据集被重复使用的次数。

per_device_train_batch_size

int

1

每个GPU在一次训练迭代中处理的样本数量。较大的批次大小可以提高效率,也会增加显存的需求。

seq_length

int

128

序列长度,指模型在一次训练中处理的输入数据的长度。

lora_dim

int

32

LoRA维度,当lora_dim>0时,使用LoRA/QLoRA轻量化训练。

lora_alpha

int

32

LoRA权重,当lora_dim>0时,使用LoRA/QLoRA轻量化训练,该参数生效。

dpo_beta

float

0.1

模型在训练过程中对偏好信息的依赖程度。

load_in_4bit

bool

false

模型是否以4 bit加载。

当lora_dim>0、load_in_4bit为true且load_in_8bit为false时,使用4 bit QLoRA轻量化训练。

load_in_8bit

bool

false

模型是否以8 bit加载。

当lora_dim>0、load_in_4bit为false且load_in_8bit为true时,使用8 bit QLoRA轻量化训练。

gradient_accumulation_steps

int

8

梯度累积步骤数。

apply_chat_template

bool

true

算法是否为训练数据加上模型默认的chat template,以Qwen2系列模型为例,格式为:

问题:<|im_end|>\n<|im_start|>user\n + instruction + <|im_end|>\n

答案:<|im_start|>assistant\n + output + <|im_end|>\n

system_prompt

string

You are a helpful assistant

模型训练使用的系统提示语。

单击训练,Model Gallery自动跳转到任务详情页面,并开始进行训练,您可以查看训练任务状态和训练日志。

训练好的模型会自动注册到AI资产-模型管理中,您可以查看或部署对应的模型,详情请参见注册及管理模型。

模型评测科学、高效的模型评测,不仅能帮助开发者有效地衡量和对比不同模型的性能,更能指导他们进行精准地模型选择和优化,加速AI创新和应用落地。

Model Gallery为通义千问2.5-Coder-32B-Instruct模型配置了评测算法,您可以通过开箱即用的方式对该模型(或微调后的模型)进行评测。关于模型评测详细的操作说明,请参见模型评测、大模型评测最佳实践。

模型压缩经过训练后的模型在部署之前可以对模型进行量化压缩,可有效减少存储和计算资源的使用。关于模型压缩详细的操作说明,请参见模型压缩。