LLM/MLLM之SWIFT:SWIFT(一个用于微调的可伸缩轻量级基础设施的工具)的简介、安装和使用方法、案例应用之详细攻略

LLM/MLLM之SWIFT:SWIFT(一个用于微调的可伸缩轻量级基础设施的工具)的简介、安装和使用方法、案例应用之详细攻略

目录

SWIFT的简介

0、日志更新

1、支持的模型

大语言模型

多模态大模型

扩散模型

2、支持的开源数据集

3、支持的技术

4、支持的硬件

5、文档资料

用户指南

参考文档

最佳实践

SWIFT的安装和使用方法

1、安装

方法1:使用pip命令安装SWIFT:

方法2:通过源代码安装SWIFT(方便运行训练推理脚本),请运行以下命令:

方法3:在我们的Docker镜像中使用SWIFT

3、训练

Web-UI

训练脚本

支持的训练过程

单卡训练

LoRA:

全参数:

模型并行训练

数据并行训练

模型并行与数据并行结合:

Deepspeed训练

ZeRO2:

ZeRO3:

ZeRO3-Offload:

多机多卡

4、推理

原始模型:

LoRA微调后:

5、评测

6、导出

原始模型:

LoRA微调后:

7、部署

原始模型:

LoRA微调后:

SWIFT的案例应用


SWIFT的简介

SWIFT(Scalable lightWeight Infrastructure for Fine-Tuning)是一个用于微调的可伸缩轻量级基础设施的工具,支持近200种LLM和MLLM(多模态大模型)的训练、推理、评测和部署。开发者可以直接将我们的框架应用到自己的Research和生产环境中,实现模型训练评测到应用的完整链路。我们除支持了PEFT提供的轻量训练方案外,也提供了一个完整的Adapters库以支持最新的训练技术,如NEFTune、LoRA+、LLaMA-PRO等,这个适配器库可以脱离训练脚本直接使用在自己的自定流程中。

为方便不熟悉深度学习的用户使用,我们提供了一个Gradio的web-ui用于控制训练和推理,并提供了配套的深度学习课程和最佳实践供新手入门。

此外,我们也在拓展其他模态的能力,目前我们支持了AnimateDiff的全参数训练和LoRA训练。

官网GitHub - modelscope/swift: ms-swift: Use PEFT or Full-parameter to finetune 200+ LLMs or 15+ MLLMs

0、日志更新

  • 🔥2024.04.26: 支持LISA 和 unsloth训练!指定 --lisa_activated_layers=2 来开启LISA(显存使用降低至全参训练的30%),指定 --tuner_backend unsloth 来使用unsloth,用更少的显存(30%或更少)更快的速度(5x)训练一个超大模型!
  • 🔥2024.04.26: 支持Qwen1.5-110B和Qwen1.5-110B-Chat模型的推理与微调, 使用这个脚本来开始训练!
  • 2024.04.24: 支持Phi3系列模型的推理与微调. 包括: phi3-4b-4k-instruct, phi3-4b-128k-instruct.
  • 2024.04.22: 支持chinese-llama-alpaca-2系列模型的推理与微调和部署等. 包括:chinese-llama-2-1.3b, chinese-llama-2-7b, chinese-llama-2-13b, chinese-alpaca-2-1.3b, chinese-alpaca-2-7b和chinese-alpaca-2-13b以及对应的16k和64k长文本模型.
  • 2024.04.22: 支持Llama3 GPTQ-Int4, GPTQ-Int8, AWQ系列模型的推理与微调. 支持chatglm3-6b-128k, Openbuddy-llama3的推理与微调.
  • 2024.04.20: 支持Atom系列模型的推理, 微调和部署等. 包括: Atom-7B and Atom-7B-Chat. 使用这个脚本来开始训练!
  • 2024.04.19: 支持NPU的单卡、DDP、ZeRO2和ZeRO3的训练与推理, 可以查看NPU推理与微调最佳实践.
  • 2024.04.19: 支持Llama3系列模型的推理, 微调和部署等. 包括: Llama-3-8B, Llama-3-8B-Instruct, Llama-3-70B, Llama-3-70B-Instruct. 使用这个脚本开始训练叭!
  • 2024.04.18: 支持模型: wizardlm2-7b-awq, wizardlm2-8x22b, yi-6b-chat-awq, yi-6b-chat-int8, yi-34b-chat-awq, yi-34b-chat-int8. 支持--deepspeed zero3-offload, 提供了默认zero3-offload配置文件来使用zero3+cpu offload.
  • 2024.04.18: 支持使用环境变量USE_HF兼容HuggingFace生态, 切换成使用HF中的模型和数据集, 可以查看HuggingFace生态兼容文档.
  • 2024.04.17: 支持OpenAI样式的接口评测, 可以查看评测参数接口文档来查看使用方法.
  • 🔥2024.04.17: 支持 CodeQwen1.5-7B系列: CodeQwen1.5-7B, CodeQwen1.5-7B-Chat, CodeQwen1.5-7B-Chat-AWQ, 使用这个脚本来开始训练!
  • 2024.04.16: 支持llava-v1.6-34b的推理与微调, 最佳实践可以查看这里.
  • 2024.04.13: 支持Mixtral-8x22B-v0.1模型的推理与微调, 使用这个脚本来开始训练!
  • 2024.04.13: 支持新推出的MiniCPM系列: MiniCPM-V-2.0、MiniCPM-2B-128k、MiniCPM-MoE-8x2B和MiniCPM-1B。使用这个脚本来开始训练!
  • 🔥2024.04.11: 支持一键式模型评测能力! 首批数据集包含MMLU、CEval、ARC等,也支持用户自定义数据集,具体可以这个文档。同时, 我们支持了一个比较trick的方法来做多个消融实验的管理,查看这个文档来使用。
  • 🔥2024.04.11: 支持c4ai-command-r系列: c4ai-command-r-plus, c4ai-command-r-v01。使用这个脚本来开始训练!
  • 2024.04.10: 使用swift微调qwen-7b-chat模型增强模型function call能力,并结合Modelscope-Agent使用,最佳实践可以查看这里
  • 🔥2024.04.09: 支持弱智吧系列数据集. 在支持的模型和数据集文档中搜索ruozhiba来找到数据集并开始训练!
  • 2024.04.08: 支持XVERSE-MoE-A4.2B模型的推理与微调, 使用这个脚本来开始训练!
  • 2024.04.04: 支持使用QLoRA+FSDP来使用两张24G显卡训练70B模型, 使用这个脚本开始训练.
  • 🔥2024.04.03: 支持Qwen1.5-32B系列: Qwen1.5-32B, Qwen1.5-32B-Chat, Qwen1.5-32B-Chat-GPTQ-Int4。使用这个脚本来开始训练!
  • 🔥2024.04.02: 支持Mengzi3-13B-Base模型的推理与微调, 使用这个脚本来开始训练!
  • 🔥2024.04.01: 支持dbrx系列, dbrx-base和dbrx-instruct, 使用这个脚本来开始训练!.
  • 🔥2024.03.29: 支持Qwen1.5-MoE系列: Qwen1.5-MoE-A2.7B, Qwen1.5-MoE-A2.7B-Chat, Qwen1.5-MoE-A2.7B-Chat-GPTQ-Int4.
  • 🔥2024.03.29: 支持Grok-1 300B MoE模型的推理与微调, 最佳实践可以查看这里.
  • 🔥2024.03.25: 支持TeleChat-7b和TeleChat-12b模型的训练和推理, 使用这个脚本来开始训练!.
  • 🔥2024.03.20: 支持llava系列的推理与微调, 最佳实践可以查看这里.
  • ……

1、支持的模型

完整的支持模型和数据集可以查看支持的模型和数据集列表.

大语言模型

模型类型模型介绍语言模型大小模型类型
Qwen
Qwen1.5
通义千问1.0和1.5系列模型中文
英文
0.5B-110B
包含量化版本
base模型
chat模型
MoE模型
代码模型
ChatGLM2
ChatGLM3
Codegeex2
智谱ChatGLM系列模型中文
英文
6Bbase模型
chat模型
代码模型
长文本模型
Baichuan
Baichuan2
百川1和百川2中文
英文
7B-13B
包含量化版本
base模型
chat模型
Yuan2浪潮源系列模型中文
英文
2B-102Binstruct模型
XVerse元象系列模型中文
英文
7B-65Bbase模型
chat模型
长文本模型
MoE模型
LLaMA2LLaMA2系列模型英文7B-70B
包含量化版本
base模型
chat模型
LLaMA3LLaMA3系列模型英文8B-70B
包含量化版本
base模型
chat模型
Mistral
Mixtral
Mistral系列模型英文7B-8x22Bbase模型
instruct模型
MoE模型
YI01AI的YI系列模型中文
英文
6B-34B
包含量化版本
base模型
chat模型
长文本模型
InternLM
InternLM2
InternLM2-Math
浦江实验室书生浦语系列模型中文
英文
1.8B-20Bbase模型
chat模型
数学模型
DeepSeek
DeepSeek-MoE
DeepSeek-Coder
DeepSeek-Math
幻方系列模型中文
英文
1.3B-67Bbase模型
chat模型
MoE模型
代码模型
数学模型
MAMBAMAMBA时序卷积模型英文130M-2.8Bbase模型
GemmaGoogle Gemma系列模型英文2B-7Bbase模型
instruct模型
MiniCPMOpenBmB MiniCPM系列模型中文
英文
2B-3Bchat模型
MoE模型
OpenBuddyOpenBuddy系列模型中文
英文
7B-67Bbase模型
chat模型
Orion猎户星空系列模型中文
英文
14Bbase模型
chat模型
BlueLMVIVO蓝心大模型中文
英文
7Bbase模型
chat模型
Ziya2封神榜系列模型中文
英文
13Bbase模型
chat模型
Skywork昆仑天工系列模型中文
英文
13Bbase模型
chat模型
Zephyr基于Mistral的zephyr系列模型英文7Bchat模型
PolyLM通义实验室自研的PolyLM系列模型多语种13Bbase模型
SeqGPT通义实验室自研的文本理解模型,用于信息抽取和文本分类中文560M语义理解模型
SUS南方科技大学基于YI Fine-Tune的模型中文
英文
34Bchat模型
Tongyi-Finance通义金融系列模型中文
英文
14Bbase模型
chat模型
金融模型
CodeFuse-CodeLLaMA
CodeFuse-Codegeex2
CodeFuse-Qwen
蚂蚁CodeFuse系列模型中文
英文
6B-34Bchat模型
代码模型
phi2/phi3微软PHI2模型英文3B/4Bbase模型
指令模型
代码模型
GrokX-ai英文300Bbase模型
TeleChatTele-AI中文
英文
7B-12Bchat模型
dbrxdatabricks英文132Bbase模型
chat模型
mengzi3Langboat中文
英文
13Bbase模型
c4ai-command-rc4ai多语种35B-104Bchat模型
WizardLM2WizardLM2系列模型多语种7B-8x22B
包含量化版本
chat模型
MoE模型
AtomAtom中文7Bbase模型
chat模型
Chinese-LLaMA-Alpaca-2Chinese-LLaMA-Alpaca-2中文1.3B-13Bbase模型
chat模型
长文本模型
ModelScope-AgentModelScope Agent系列中文7B-14Bagent模型

多模态大模型

模型类型模型介绍语言模型大小模型类型
Qwen-VL通义千问视觉模型中文
英文
7B
包含量化版本
base模型
chat模型
Qwen-Audio通义千问语音模型中文
英文
7Bbase模型
chat模型
YI-VL01AI的YI系列视觉模型中文
英文
6B-34Bchat模型
XComposer2浦江实验室书生浦语视觉模型中文
英文
7Bchat模型
DeepSeek-VL幻方系列视觉模型中文
英文
1.3B-7Bchat模型
MiniCPM-VOpenBmB MiniCPM视觉模型中文
英文
3Bchat模型
CogVLM
CogAgent
智谱ChatGLM视觉问答和Agent模型英文17B-18Bchat模型
LlavaLlava系列模型英文7B-34Bchat模型
mPLUG-OwlmPLUG-Owl系列模型英文11Bchat模型

扩散模型

模型类型模型介绍语言模型类型
AnimateDiffAnimateDiff动画模型英文文生视频
SD1.5/SD2.0/SDXLStabilityAI系列扩散模型英文文生图

2、支持的开源数据集

数据集类型训练任务文档
通用微调🔥ruozhiba, 🔥ms-bench, 🔥ms-bench-mini, 🔥alpaca-en(gpt4), 🔥alpaca-zh(gpt4), multi-alpaca-all, instinwild-en, instinwild-zh, cot-en, cot-zh, firefly-all-zh, instruct-en, gpt4all-en, sharegpt-en, sharegpt-zh, tulu-v2-sft-mixture, wikipedia-zh, open-orca, open-orca-gpt4, sharegpt-gpt4, 🔥sharegpt-gpt4-mini.
Agent微调🔥ms-agent, ms-agent-for-agentfabric-default, ms-agent-for-agentfabric-addition, damo-mini-agent-zh, damo-agent-zh, agent-instruct-all-en.
通用人类对齐🔥hh-rlhf-cn, stack-exchange-paired, hh-rlhf-harmless-base, hh-rlhf-helpful-base, hh-rlhf-helpful-online, hh-rlhf-helpful-rejection-sampled, hh-rlhf-red-team-attempts, hh-rlhf-cn-harmless-base-cn, hh-rlhf-cn-helpful-base-cn, hh-rlhf-cn-harmless-base-en, hh-rlhf-cn-helpful-base-en.
代码微调code-alpaca-en, 🔥leetcode-python-en, 🔥codefuse-python-en, 🔥codefuse-evol-instruction-zh.
医疗微调medical-en, medical-zh, medical-mini-zh, 🔥disc-med-sft-zh.
法律微调lawyer-llama-zh, tigerbot-law-zh, 🔥disc-law-sft-zh.
数学微调🔥blossom-math-zh, school-math-zh, open-platypus-en.
SQL微调text2sql-en, 🔥sql-create-context-en.
文本生成微调🔥advertise-gen-zh, 🔥dureader-robust-zh.
分类微调cmnli-zh, 🔥cmnli-mini-zh, 🔥jd-sentiment-zh, 🔥hc3-zh, 🔥hc3-en.
量化辅助量化pileval.
其他微调finance-en, poetry-zh, webnovel-zh, generated-chat-zh, cls-fudan-news-zh, ner-jave-zh.
视觉微调coco-en, 🔥coco-mini-en, coco-mini-en-2, capcha-images.
音频微调aishell1-zh, 🔥aishell1-mini-zh.

3、支持的技术

技术名称
🔥LoRA: LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
🔥LoRA+: LoRA+: Efficient Low Rank Adaptation of Large Models
🔥LLaMA PRO: LLAMA PRO: Progressive LLaMA with Block Expansion
🔥SCEdit: SCEdit: Efficient and Controllable Image Diffusion Generation via Skip Connection Editing < arXiv | Project Page >
🔥NEFTune: Noisy Embeddings Improve Instruction Finetuning
QA-LoRA:Quantization-Aware Low-Rank Adaptation of Large Language Models
LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models
ROME: Rank-One Editing of Encoder-Decoder Models
Adapter: Parameter-Efficient Transfer Learning for NLP
Prompt Tuning: Visual Prompt Tuning
Side: Side-Tuning: A Baseline for Network Adaptation via Additive Side Networks
Res-Tuning: Res-Tuning: A Flexible and Efficient Tuning Paradigm via Unbinding Tuner from Backbone < arXiv | Project Page | Usage >
PEFT提供的tuners, 如IA3, AdaLoRA等

4、支持的硬件

硬件环境备注
CPU
RTX20系列/30系列/40系列等30序列之后可使用BF16和FlashAttn
计算卡系列 T4/V100等不支持BF16和FlashAttn
计算卡系列 A10/A100等支持BF16和FlashAttn
华为昇腾NPU

5、文档资料

用户指南

文档名称
使用Web-UI
使用Tuners
LLM推理
LLM微调
LLM评测
LLM量化
LLM部署
DPO人类对齐训练
AnimateDiff训练

参考文档

文档名称
命令行参数
支持的模型和数据集列表
自定义新模型和数据集
运行速度与显存Benchmark
HuggingFace生态兼容

最佳实践

最佳实践名称
Agent微调最佳实践
自我认知微调最佳实践
Qwen1.5最佳实践
多模态模型训练最佳实践
NPU推理与微调最佳实践

SWIFT的安装和使用方法

1、安装

SWIFT在Python环境中运行。请确保您的Python版本高于3.8。

方法1:使用pip命令安装SWIFT:

# 全量能力
pip install 'ms-swift[all]' -U
# 仅使用LLM
pip install 'ms-swift[llm]' -U
# 仅使用AIGC
pip install 'ms-swift[aigc]' -U
# 仅使用Adapters
pip install ms-swift -U

方法2:通过源代码安装SWIFT(方便运行训练推理脚本),请运行以下命令:

git clone https://github.com/modelscope/swift.git
cd swift
pip install -e '.[llm]'

SWIFT依赖torch>=1.13,建议torch>=2.0.0。

方法3:在我们的Docker镜像中使用SWIFT

# China-Hangzhou image
docker pull registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1
# US-west image
docker pull registry.us-west-1.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1

3、训练

Web-UI

swift web-ui

训练脚本

你可以参考以下脚本来自定义属于你的训练脚本.

支持的训练过程

训练过程训练方式
预训练文本生成
微调单轮/多轮
Agent训练/自我认知
多模态视觉/多模态语音
人类对齐DPO
文生图DreamBooth等
文生视频-

单卡训练

通过如下命令启动单卡微调:

LoRA:
# 实验环境: A100
# 显存需求: 20GB
# 运行时长: 3.1小时
CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
全参数:
# 实验环境: A100
# 显存需求: 80GB
# 运行时长: 2.5小时
CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type full \
    --output_dir output \
    --eval_steps 500 \

模型并行训练

# 实验环境: 2 * A100
# 显存需求: 10GB + 13GB
# 运行时长: 3.4小时
CUDA_VISIBLE_DEVICES=0,1 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \

数据并行训练

# 实验环境: 4 * A100
# 显存需求: 4 * 30GB
# 运行时长: 0.8小时
NPROC_PER_NODE=4 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \

模型并行与数据并行结合:

# 实验环境: 4 * A100
# 显存需求: 2*14GB + 2*18GB
# 运行时长: 1.7小时
NPROC_PER_NODE=2 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \

Deepspeed训练

Deepspeed支持对GPTQ和AWQ量化模型进行训练.

ZeRO2:
# 实验环境: 4 * A100
# 显存需求: 4 * 21GB
# 运行时长: 0.9小时
NPROC_PER_NODE=4 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
    --deepspeed default-zero2 \
ZeRO3:
# 实验环境: 4 * A100
# 显存需求: 4 * 19GB
# 运行时长: 3.2小时
NPROC_PER_NODE=4 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \
swift sft \
    --model_type qwen1half-7b-chat \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
    --deepspeed default-zero3 \
ZeRO3-Offload:
# 实验环境: 4 * A100
# 显存需求: 4 * 12GB
# 运行时长: 60小时
NPROC_PER_NODE=4 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \
swift sft \
    --model_id_or_path AI-ModelScope/WizardLM-2-8x22B \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
    --deepspeed zero3-offload \

多机多卡

# node0
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
NNODES=2 \
NODE_RANK=0 \
MASTER_ADDR=127.0.0.1 \
NPROC_PER_NODE=8 \
swift sft \
    --model_id_or_path qwen1half-32b-chat \
    --sft_type full \
    --dataset blossom-math-zh \
    --output_dir output \
    --deepspeed default-zero3 \

# node1
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
NNODES=2 \
NODE_RANK=1 \
MASTER_ADDR=xxx.xxx.xxx.xxx \
NPROC_PER_NODE=8 \
swift sft \
    --model_id_or_path qwen1half-32b-chat \
    --sft_type full \
    --dataset blossom-math-zh \
    --output_dir output \
    --deepspeed default-zero3 \

4、推理

原始模型:

CUDA_VISIBLE_DEVICES=0 swift infer --model_type qwen1half-7b-chat
# 使用VLLM加速
CUDA_VISIBLE_DEVICES=0 swift infer --model_type qwen1half-7b-chat \
    --infer_backend vllm --max_model_len 8192

LoRA微调后:

CUDA_VISIBLE_DEVICES=0 swift infer --ckpt_dir xxx/checkpoint-xxx --load_dataset_config true
# 使用VLLM加速
CUDA_VISIBLE_DEVICES=0 swift infer \
    --ckpt_dir xxx/checkpoint-xxx --load_dataset_config true \
    --merge_lora true --infer_backend vllm --max_model_len 8192

5、评测

CUDA_VISIBLE_DEVICES=0 swift eval --model_type qwen1half-7b-chat --eval_dataset mmlu ceval

6、导出

原始模型:

CUDA_VISIBLE_DEVICES=0 swift export --model_type qwen1half-7b-chat \
    --quant_bits 4 --quant_method awq
 

LoRA微调后:

CUDA_VISIBLE_DEVICES=0 swift export \
    --ckpt_dir xxx/checkpoint-xxx --load_dataset_config true \
    --quant_method awq --quant_bits 4 \
    --merge_lora true \
 

7、部署

原始模型:

CUDA_VISIBLE_DEVICES=0 swift deploy --model_type qwen1half-7b-chat
# 使用VLLM加速
CUDA_VISIBLE_DEVICES=0 swift deploy --model_type qwen1half-7b-chat \
    --infer_backend vllm --max_model_len 8192
 

LoRA微调后:

CUDA_VISIBLE_DEVICES=0 swift deploy --ckpt_dir xxx/checkpoint-xxx
# 使用VLLM加速
CUDA_VISIBLE_DEVICES=0 swift deploy \
    --ckpt_dir xxx/checkpoint-xxx --merge_lora true \
    --infer_backend vllm --max_model_len 8192

SWIFT的案例应用

持续更新中……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值