1. 资源站点
- 模型权重:modelscope
- 应用代码:github
2. 下载模型
- Base: Qwen1.5-0.5B
- Chat: Qwen1.5-0.5B-Chat
3. 开发范式
-
传统深度学习:
- 针对某个具体的问题
- 搭建针对性的模型
- 采集针对性的数据
- 训练模型
- 模型评估
- 模型部署
-
大模型时代:
-
1,预训练一个不针对任何任务的模型
- 大量的数据和时间
- 自监督学习
- base 底座大模型
-
2,SFT 针对特定任务的微调
- 对齐人类说话风格
- 对齐行业知识
- 对齐多轮对话
- 对齐价值观/意识形态
-
3,RLHF 基于人类反馈的强化学习
- 进一步做上述对齐
-
4. 大模型时代,开发者能干什么?
-
一句话:把公共大模型(大公司产品,开源大模型)变成私有(行业,领域,个人)大模型
-
原因:
- 数据安全
- 行业知识
- 费用问题
- 系统集成
-
策略:
-
1,修改模型参数的:
- PT
- SFT
- RLHF
- 知识注入进模型
-
2,不修改模型参数的:
- RAG:检索 - 增强 - 生成
- 知识没有注入模型,作为一个外挂使用
- 丰富了问题的上下文
-
3,让大模型干一些超出人工智能范畴的事情
- 外挂外部工具
- agent
-
5. 如何微调大模型?
-
LLaMA-Factory
-
GitHub - hiyouga/LLaMA-Factory: A WebUI for Efficient Fine-Tuning of 100+ LLMs (ACL 2024)
-
下载包后安装软件命令:pip install -e . -i Simple Index
-
运行软件命令:llamafactory-cli webui
-
训练阶段 和 具体的训练策略 是两码事儿
-
训练策略:
- 1,预训练
- 2,微调
-
Base
-
Chat
6. 量化
- float64 双精度
- float32 单精度
- float16 半精度
- int8 量化
- int4 量化
- int2 量化
7. 模型高性能部署
- API 接口
- OpenAI Compatible API
- openai · PyPI
import os
from openai import OpenAI
base_url = "https://4.0.wokaai.com/v1/"
api_key = "sk-HYypXkTBP8cMfJKK2390D0Ff681949A6Bf13887c5f9544B7"
client = OpenAI(
# This is the default and can be omitted
base_url=base_url,
api_key=api_key
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "中国的首都在哪",
}
],
model="gpt-4",
)
response = chat_completion.choices[0].message.content
- 模型部署
- vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention | vLLM Blog
- 输入下面的命令把自己的模型部署成openai接口,然后参考上面的代码调用接口实现功能
- python -m vllm.entrypoints.openai.api_server --model lmsys/vicuna-7b-v1.3