本文以 Qwen3-8B 模型为例,带您使用火山引擎机器学习平台(后简称 MLP)进行模型开发、训练、部署,帮助您快速了解 MLP 的能力以及上手基础使用方法,适合模型开发相关工程师。
需要管理员/主账号进行资源准备及权限授予。
vemlp-cn-beijing.cr.volces.com/preset-images/swift:v1
快速入门提供丰富场景化教程,帮助您快速展开模型开发、训练、部署、评估相关工作。
volc configure
快速配置命令行工具,具体操作详见使用文档--机器学习平台-火山引擎。模型下载速度较慢,网络保持在150g、5m/s,预计8h可以下载完成。
cd /vemlp-demo-models mkdir model-qwen cd model-qwen pip3 install -U huggingface_hub export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download --token $HF_TOKEN --resume-download Qwen/Qwen3-8B --local-dir $ORIGINAL_MODEL_PATH
其中运行 huggingface-cli 命令行,需要传入的参数列表说明如下:
参数 | 描述 |
---|---|
hf_token | 具有qwen使用权限的Huggingface账号的hf_token |
original_model_path | 源safetensor路径 |
说明
--token/--hf_username/--hf_token等参数非必须,仅为部分 Repo 有 license 限制时,登录 https://huggingface.co/settings/tokens 获取 token 后进行下载。
推荐您将模型文件、训练数据集的下载、存放地址都设置在 TOS/VEPFS/SCFS 等共享存储内,之后在进行训练、推理等跨节点的任务时,可以更加轻松地挂载到不同的机器上。
这里我们使用命令行工具 ,如需使用控制台进行任务管理,请参考发起单机 / 分布式训练任务。
在 Terminal 中使用以下命令对Qwen3-8b进行LoRA微调,具体操作步骤如下。
volc ml_task submit --conf=/vemlp-demo-models/demo.yaml
demo.yaml 文件示例:
TaskName: "qwen3-8b" Description: "" Tags: [] ImageUrl: "vemlp-cn-beijing.cr.volces.com/preset-images/swift:v1" ResourceQueueID: "q-**************" # 请替换为自己的队列ID # DL framework, support: TensorFlow PS,PyTorch DDP,Horovod,BytePS Framework: "PyTorchDDP" # Flavor代表机型,去 https://www.volcengine.com/docs/6459/72363 查询 TaskRoleSpecs: - RoleName: "worker" RoleReplicas: 1 Flavor: "custom" ResourceSpec: Family: "ml.hpcpni2l" CPU: 105.000 Memory: 1875.000 GPUNum: 1 Envs: - Name: "MODEL_PATH" Value: "Qwen/Qwen3-8B" - Name: "OUT_DIR" Value: "/vemlp-demo-models/qwen3_lora" AccessType: "Queue" Storages: - Type: "Tos" MountPath: "/data" Bucket: "vemlp-demo-models" Prefix: "/" FsName: "testmodel" MetaCacheExpiryMinutes: "-1" Entrypoint: | export HF_ENDPOINT=https://hf-mirror.com; swift sft --model Qwen/Qwen3-8B --train_type lora --dataset 'swift/self-cognition#1000' --num_train_epochs 1 --per_device_train_batch_size 1 --learning_rate 1e-4 --lora_rank 8 --lora_alpha 32 --gradient_accumulation_steps 16 --eval_steps 100 --save_steps 100 --save_total_limit 2 --logging_steps 5 --output_dir '/root/code/output' --model_author swift --model_name swift-robot
vemlp-cn-beijing.cr.volces.com/preset-images/swift:v1
swift deploy \ --adapters /vemlp-demo-models/qwen3_lora/v0-20250611-131959 \ --infer_backend pt \ --temperature 0 \ --max_new_tokens 2048 \ --served_model_name 'qwen3_8b'
import requests import json # 定义请求,更换具体的ip地址 url = "http://101.126.23.138:8000/v1/completions" headers = { "Content-Type": "application/json" } data = { "model": "qwen3-8b", "prompt": "San Francisco is a", "max_tokens": 100, "temperature": 0 } # 发送POST请求 response = requests.post(url, headers=headers, data=json.dumps(data)) # 打印响应内容 print(response.json())
python request.py
结果如下。
{'id': 'cmpl-a40535c337134****', 'object': 'text_completion', 'created': 1725420936, 'model': 'qwen3-8b', 'choices': [{'index': 0, 'text': " city of many neighborhoods, each with its own unique character and charm. Whether you're looking for a hipster haven, a family-friendly area, or a place to party, there's a neighborhood for you. Here are some of the best neighborhoods in San Francisco to check out:\nThe Mission: The Mission is a hipster haven with a vibrant arts scene, great food, and a lively nightlife. It's also home to the city's largest Latino population, making it a great place to experience authentic", 'logprobs': None, 'finish_reason': 'length', 'stop_reason': None, 'prompt_logprobs': None}], 'usage': {'prompt_tokens': 5, 'total_tokens': 105, 'completion_tokens': 100}}