前几天看到消息openai将开始限制来自非支持国家和地区的API流量,目前OpenAI的API已向161个国家和地区开放,中国本地和中国香港未包罗此中。这对于中国使用openai的用户来说算是彻底断了念想,好在国内大模子近些日来迅猛发展,前段时间刚开源的阿里Qwen2蝉联开源大模子榜首,已经和chatgpt半斤八两,这篇文章告急介绍怎样多方式体验Qwen2。
1.Qwen2介绍+在线使用
qwen2官网介绍:https://qwenlm.github.io/zh/blog/qwen2/
在线体验:
- https://opencompass.org.cn/arena
- https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct
告急亮点:
- 5个尺寸的预训练和指令微调模子, 包罗Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B以及Qwen2-72B;
- 在中文英语的基础上,训练数据中增长了27种语言相关的高质量数据;
- 多个评测基准上的领先表现;
- 代码和数学能力显著提升;
- 增大了上下文长度支持,最高到达128K tokens(Qwen2-72B-Instruct)。
在2个评估数据集上举行验证:
M-MMLU: 来自Okapi的多语言常识理解数据集
MGSM:包罗德、英、西、法、日、俄、泰、中和孟在内的数学评测。
结果均反映了Qwen2指令微调模子突出的多语言能力。
优化点:
通义千问技术博客披露,在Qwen1.5系列中,只有32B和110B的模子使用了GQA。这一次,全部尺寸的模子都使用了GQA,以便让用户体验到GQA带来的推理加快和显存占用降低的优势。针对小模子,由于embedding参数量较大,研发团队使用了tie embedding的方法让输入和输出层共享参数,增长非embedding参数的占比。
上下文长度方面,全部的预训练模子均在32K tokens的数据上举行训练,研发团队发现其在128K tokens时依然能在PPL评测中取得不错的表现。然而,对指令微调模子而言,除PPL评测之外还需要举行大海捞针等长序列理解实验。在使用YARN这类方法时,Qwen2-7B-Instruct和Qwen2-72B-Instruct均实现了长达128K tokens上下文长度的支持。
目前在多项权威榜单和测评中,Qwen2-72B成为开源模子排行榜第一名。
2. 当地部署
- 当地部署:使用 llama.cpp 和 Ollama 等框架在 CPU 和 GPU 被骗地运行 Qwen 模子的说明。
- Docker:预先构建的 Docker 镜像可用于简化部署。
- ModelScope:推荐中国大陆用户使用,支持下载查抄点并高效运行模子。
- 推理框架:使用 vLLM 和 SGLang 部署 Qwen 模子举行大规模推理的示例。
2.1 Ollama 使用
Ollama下载:https://ollama.com/download
官网下载安装成功,打开终端安装:ollama run qwen2:7b
安装成功,测试使用,使用qwen2-7B写一个冒泡排序,速率感人
2.2 vllm部署
参考:deployment/vllm
使用 [vLLM]来部署 Qwen。它使用简单,速率快,具有最先进的服务吞吐量、使用 PagedAttention 高效管理注意键值内存、连续批处理输入请求、优化的 CUDA 内核等。
安装环境cuda11.8:
- pip install vLLM>=0.4.0
-
- pip install ray
复制代码 Qwen2 代码支持的模子也受 vLLM 支持。vLLM 最简单的用法是离线批量推理:
- from transformers import AutoTokenizer
- from vllm import LLM, SamplingParams
- # Initialize the tokenizer
- tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-7B-Instruct")
- # Pass the default decoding hyperparameters of Qwen2-7B-Instruct
- # max_tokens is for the maximum length for generation.
- sampling_params = SamplingParams(temperature=0.7, top_p=0.8, repetition_penalty=1.05, max_tokens=512)
- # Input the model name or path. Can be GPTQ or AWQ models.
- llm = LLM(model="Qwen/Qwen2-7B-Instruct")
- # Prepare your prompts
- prompt = "Tell me something about large language models."
- messages = [
- {"role": "system", "content": "You are a helpful assistant."},
- {"role": "user", "content": prompt}
- ]
- text = tokenizer.apply_chat_template(
- messages,
- tokenize=False,
- add_generation_prompt=True
- )
- # generate outputs
- outputs = llm.generate([text], sampling_params)
- # Print the outputs.
- for output in outputs:
- prompt = output.prompt
- generated_text = output.outputs[0].text
- print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
复制代码 使用 vLLM 可以轻松构建兼容 OpenAI-API 的 API 服务,可以将其部署为实现 OpenAI API 协议的服务器。默认情况下,它会在 启动服务器。您可以使用和参数http://localhost:8000指定地址。运行以下下令:–host–port
- python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen2-7B-Instruct
复制代码 使用创建聊天接口 与Qwen举行交流:
- curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
- "model": "Qwen/Qwen2-7B-Instruct",
- "messages": [
- {"role": "system", "content": "You are a helpful assistant."},
- {"role": "user", "content": "Tell me something about large language models."}
- ]
- }'
复制代码 或者使用python客户端:
- from openai import OpenAI
- # Set OpenAI's API key and API base to use vLLM's API server.
- openai_api_key = "EMPTY"
- openai_api_base = "http://localhost:8000/v1"
- client = OpenAI(
- api_key=openai_api_key,
- base_url=openai_api_base,
- )
- chat_response = client.chat.completions.create(
- model="Qwen/Qwen2-7B-Instruct",
- messages=[
- {"role": "system", "content": "You are a helpful assistant."},
- {"role": "user", "content": "Tell me something about large language models."},
- ]
- )
- print("Chat response:", chat_response)
复制代码 3. 云端部署
阿里云百炼于近期应用、模子双引擎全新升级,兼容LlamaIndex等开源框架,更具开放性的应用框架,更极致生态化的模子服务,降低推理成本,加快大模子应用落地
官网链接:https://www.aliyun.com/product/bailian
按照上面的教程选择部署模子
根据自己的需求举行选择,收费尺度:
billing-for-alibaba-cloud-model-studio
4. 总结
对比几种使用方式:
部署方式在线使用当地部署云端部署优点易于访问,无需复杂设置、成本效益,按需付出,主动更新,使用最新模子数据隐私,数据当地存储定制性高,可按需优化<控制性强,完全控制模子运行和维护可扩展性,易于资源扩展专业支持,包罗技术支持和维护,机动性,快速调整资源和服务缺点依靠网络,需要稳定网络数据隐私风险,数据需上传定制性有限,控制能力受限硬件要求高,需强大GPU成本高,初始投资大维护要求,需技术能力成本题目,持续的云服务费用数据隐私风险,数据需上传网络依靠,服务可用性依靠网络 大模子的在线使用、当地部署和云端部署各有其优缺点:
综合考虑,选择哪种部署方式取决于组织的具体需求、资源和优先级。例如,对于重视数据隐私和定制性的场景,当地部署可能更符合;而对于需要快速扩展和专业技术支持的场景,云端部署可能更有优势。在线使用则适合对成本敏感且不需要高度定制的用例。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |