ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Qwen3.6-35B-A3B 昇腾 NPU 部署实战:基于 vllm-ascend 的离线推理与 OpenAI API 服务化

Qwen3.6-35B-A3B 昇腾 NPU 部署实战:基于 vllm-ascend 的离线推理与 OpenAI API 服务化 Qwen3.6-35B-A3B 昇腾 NPU 部署实战基于 vllm-ascend 的离线推理与 OpenAI API 服务化【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调全参数/Lora、部署国内外开源大模型LLM/多模态大模型MLLM教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llmQwen3.6-35B-A3B 是一款总参数量 35B、激活参数量约 3B 的混合专家MoE大语言模型默认开启思考能力适合在昇腾AscendNPU 上完成高吞吐推理。本文以仓库教程 models_ascend/qwen3.5\3.6/01-Qwen3.6-35B-A3B-vLLM-ascend部署调用.md 为核心骨架完整讲解从环境准备、模型下载、离线推理脚本到构建兼容 OpenAI API 的服务化部署全流程并结合作者仓库中的配套指南与姊妹教程进行源码级纵深解析。读完本文你将能够在一台 Atlas A2/A3 系列昇腾服务器上独立完成 Qwen3.6-35B-A3B 的离线生成与在线 API 调用并掌握思考模式thinking的开闭与采样参数调优方法。vllm-ascendvLLM 在昇腾 NPU 上的官方推荐后端vllm-ascend是一个由社区维护的插件用于让 vLLM 在 Ascend NPU 上无缝运行。它是 vLLM 社区中支持昇腾后端的推荐方式遵循 vLLM 社区提出的 Hardware pluggable硬件可插拔设计原则通过解耦的方式提供 vLLM 对 Ascend NPU 的支持上层引擎逻辑与底层硬件实现相互独立用户无需修改原有 vLLM 调用代码即可切换后端。使用 vLLM 昇腾插件可以让类 Transformer、混合专家MoE、嵌入Embedding、多模态等流行的大语言模型在 Ascend NPU 上无缝运行。Qwen3.6-35B-A3B 正是典型的 MoE 架构模型vllm-ascend 对其有良好的适配支持。环境准备从依赖安装到环境校验基础环境版本本文教程的基础环境如下---------------- ubuntu 22.04 NPU驱动 25.2.0 python 3.10 cann 8.5.1 torch 2.9.0 torch-npu 2.9.0 ----------------本文默认学习者已配置好以上 PytorchCANN环境如未配置请先自行安装。芯片型号确认请先确定昇腾 NPU 芯片的版本目前 vllm-ascend 支持A2 和 A3 系列产品。根据仓库 support_model_Ascend.md 的说明Atlas A2 代表昇腾 910B 系列芯片包含 910B1、910B2、910B3、910B4、910B4-1Atlas A3 代表昇腾 910C 系列芯片具体覆盖 Atlas 800I A2、Atlas 800T A2、Atlas 300I A2、Atlas 800I A3、Atlas 800T A3 等机型。通过 Docker 镜像准备环境裸金属/物理机裸金属服务器或物理机可以通过docker pull获取设备对应的镜像使用 AutoDL 平台可跳过此步骤# A2系列产品 docker pull quay.io/ascend/vllm-ascend:v0.18.0rc1 # A3系列产品 docker pull quay.io/ascend/vllm-ascend:v0.18.0rc1-a3A2 与 A3 芯片对应的镜像 Tag 不同带-a3后缀请务必按芯片型号选择避免容器内算子与硬件不匹配。pip 换源并安装依赖包python -m pip install --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip install modelscope # Install vllm-project/vllm. The newest supported version is v0.18.0. pip install vllm0.18.0 # Install vllm-project/vllm-ascend from pypi. pip install vllm-ascend0.18.0rc1三个依赖各司其职modelscope用于从 ModelScope 模型库下载模型权重vllm0.18.0提供推理引擎主体vllm-ascend0.18.0rc1提供昇腾 NPU 后端插件。注意 vllm 与 vllm-ascend 的版本需要与教程给出的版本保持一致混用版本可能导致算子不兼容。考虑到部分同学配置环境可能遇到问题仓库作者在 AutoDL 平台准备了 Qwen3.5/3.6 在昇腾设备运行的环境镜像可直接在 AutoDL 创建对应示例实例镜像版本选择 v0.18.0 即可无需手动装配上述依赖。校验 NPU 设备是否被正确识别在进入部署环节之前建议先用仓库通用指南中的命令确认 NPU 驱动与设备状态正常npu-smi info执行后应能看到昇腾 NPU 芯片的型号、显存与算力状态信息可参考 support_model_Ascend.md 中的 设备状态截图。如果该命令报错或无法识别设备说明驱动/固件安装有问题需先解决环境问题再继续。模型下载通过 ModelScope 获取 Qwen3.6-35B-A3B使用 modelscope 中的snapshot_download函数下载模型第一个参数为模型名称参数cache_dir为模型的下载路径。新建model_download.py文件并输入以下内容粘贴代码后记得保存文件from modelscope import snapshot_download model_dir snapshot_download(Qwen/Qwen3.6-35B-A3B, cache_dir/root/autodl-tmp, revisionmaster)然后在终端中执行python model_download.py下载模型这里需要耐心等待一段时间直到模型下载完成。注意记得修改cache_dir为你的模型下载路径哦。模型权重下载完成后后续所有脚本与启动命令中的模型路径都指向该目录。离线推理vllm_model.py 实战解读脚本整体结构新建vllm_model.py文件并输入以下内容。下面的代码带有详细注释核心思路是导入LLM与SamplingParams两个类前者是使用 vLLM 引擎运行离线推理的主要类后者指定采样过程的参数用于控制和调整生成文本的随机性和多样性。import gc import torch from vllm import LLM, SamplingParams from transformers import AutoTokenizer import os import json # 自动下载模型时指定使用modelscope; 否则会从HuggingFace下载 os.environ[VLLM_USE_MODELSCOPE]True def get_completion(prompts, model, tokenizerNone, temperature0.6, top_p0.95, top_k20, min_p0, max_tokens4096, max_model_len8192): stop_token_ids [151645, 151643] # 创建采样参数。temperature 控制生成文本的多样性top_p 控制核心采样的概率top_k 通过限制候选词的数量来控制生成文本的质量和多样性, min_p 通过设置概率阈值来筛选候选词从而在保证文本质量的同时增加多样性 sampling_params SamplingParams(temperaturetemperature, top_ptop_p, top_ktop_k, min_pmin_p, max_tokensmax_tokens, stop_token_idsstop_token_ids) # max_tokens 用于限制模型在推理过程中生成的最大输出长度 # 初始化 vLLM 推理引擎 llm LLM(modelmodel, tokenizertokenizer, max_model_lenmax_model_len,trust_remote_codeTrue) # max_model_len 用于限制模型在推理过程中可以处理的最大输入和输出长度之和。 outputs llm.generate(prompts, sampling_params) return outputs if __name__ __main__: # 初始化 vLLM 推理引擎 model/root/autodl-tmp/Qwen/Qwen3.6-35B-A3B # 指定模型路径 tokenizer AutoTokenizer.from_pretrained(model, use_fastFalse) # 加载分词器 prompt 给我一个关于大模型的简短介绍。 messages [ {role: user, content: prompt} ] text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue, enable_thinkingTrue # 是否开启思考模式默认为 True ) outputs get_completion(text, model, tokenizerNone, temperature0.6, top_p 0.95, top_k20, min_p0) # 对于思考模式官方建议使用以下参数temperature 0.6TopP 0.95TopK 20MinP 0。 # 输出是一个包含 prompt、生成文本和其他信息的 RequestOutput 对象列表。 # 打印输出。 for output in outputs: prompt output.prompt generated_text output.outputs[0].text print(fPrompt: {prompt!r}, \nResponse: {generated_text!r})关键点逐项拆解1. 模型自动下载源切换环境变量os.environ[VLLM_USE_MODELSCOPE]True设置VLLM_USE_MODELSCOPETrue后vLLM 在模型路径未命中本地缓存时会优先从 ModelScope 下载否则默认会尝试从 HuggingFace 下载国内网络环境下往往不稳定。2. vLLM 的封装便利性vLLM提供了非常方便的封装直接传入模型名称或模型路径即可不必手动初始化模型和分词器。LLM(...)内部会完成权重加载、图编译、KV Cache 分配等引擎初始化工作。3. 采样参数SamplingParams参数作用本文默认值temperature控制生成文本的多样性值越大输出越随机0.6思考模式/ 0.7非思考模式top_p控制核心采样的累积概率0.95思考模式/ 0.8非思考模式top_k限制候选词的数量控制生成质量与多样性20min_p通过概率阈值筛选候选词在保证文本质量的同时增加多样性0max_tokens限制模型推理过程中生成的最大输出长度4096stop_token_ids指定提前终止生成的 token id 列表[151645, 151643]其中stop_token_ids [151645, 151643]对应 Qwen3 系列聊天模板中的分隔/结束特殊 token如|im_end|与|endoftext|在思考模式下可防止模型输出越过结尾标记继续生成。4. 引擎长度参数max_model_lenllm LLM(modelmodel, tokenizertokenizer, max_model_lenmax_model_len,trust_remote_codeTrue)max_model_len用于限制模型在推理过程中可以处理的最大输入和输出长度之和本文默认 8192trust_remote_codeTrue允许加载模型仓库中的自定义代码如 Qwen3 系列的自定义 chat template 与 modeling 文件。5. 聊天模板与思考模式enable_thinking通过分词器的apply_chat_template函数将 prompt提示词格式化为模型所需的输入格式text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue, enable_thinkingTrue # 是否开启思考模式默认为 True )默认情况下Qwen3.6-35B-A3B 启用了思考能力类似于 QwQ-32B。这意味着模型将利用其推理能力来提升生成回答的质量。当在tokenizer.apply_chat_template中显式设置enable_thinkingTrue或保留其默认值时模型将进入思考模式格式化的 prompt 中会包含|im_start|assistant前缀引导模型先输出思考过程再输出最终答案。运行与结果解读思考模式运行代码python vllm_model.py结果如下Prompt: |im_start|user\n给我一个关于大模型的简短介绍。|im_end|\n|im_start|assistant\n, Response: think\n嗯用户让我给一个关于大模型的简短介绍。首先我需要确定用户的需求是什么。……思考过程节选\n/think\n\n大模型Large Model是指参数量巨大通常达到数十亿甚至万亿级别的深度学习模型通过海量数据训练具备强大的语言理解、生成和推理能力。它们能执行复杂任务如自然语言处理如文本生成、翻译、问答、代码编写、图像识别等。……可以看到模型的 response 由两部分组成一部分是思考过程用think和/think包裹另一部分是最终答案在/think标识符之后。最终答案的语言组织明显受益于前期的推理过程。关闭思考模式如果不需要开启思考模式只需要将apply_chat_template中的参数enable_thinking设置为False注意参数名以实际代码中的enable_thinking为准教程正文中出现的ensure_thinking为笔误import gc import torch from vllm import LLM, SamplingParams from transformers import AutoTokenizer import os import json # 自动下载模型时指定使用modelscope; 否则会从HuggingFace下载 os.environ[VLLM_USE_MODELSCOPE]True def get_completion(prompts, model, tokenizerNone, temperature0.6, top_p0.95, top_k20, min_p0, max_tokens4096, max_model_len8192): stop_token_ids [151645, 151643] # 创建采样参数。 sampling_params SamplingParams(temperaturetemperature, top_ptop_p, top_ktop_k, min_pmin_p, max_tokensmax_tokens, stop_token_idsstop_token_ids) # 初始化 vLLM 推理引擎 llm LLM(modelmodel, tokenizertokenizer, max_model_lenmax_model_len,trust_remote_codeTrue) outputs llm.generate(prompts, sampling_params) return outputs if __name__ __main__: # 初始化 vLLM 推理引擎 model/root/autodl-tmp/Qwen/Qwen3.6-35B-A3B # 指定模型路径 tokenizer AutoTokenizer.from_pretrained(model, use_fastFalse) # 加载分词器 prompt 你是谁 messages [ {role: user, content: prompt} ] text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue, enable_thinkingFalse # 是否开启思考模式默认为 True ) outputs get_completion(text, model, tokenizerNone, temperature0.7, top_p 0.8, top_k20, min_p0) # 对于非思考模式官方建议使用以下参数temperature 0.7TopP 0.8TopK 20MinP 0。 # 输出是一个包含 prompt、生成文本和其他信息的 RequestOutput 对象列表。 # 打印输出。 for output in outputs: prompt output.prompt generated_text output.outputs[0].text print(fPrompt: {prompt!r},Response: {generated_text!r})结果如下Prompt: |im_start|user\n你是谁|im_end|\n|im_start|assistant\nthink\n\n/think\n\n, Response: 我是通义千问由通义实验室研发的超大规模语言模型。我能够进行多轮对话回答各种问题创作文字编写程序理解并生成多种语言。我的目标是成为人类最聪明的助手帮助人类更好地生活和工作。如果你有任何问题或需要帮助欢迎随时向我提问注意非思考模式下格式化后的 prompt 中虽然仍会出现空的think\n\n/think占位但模型直接输出最终答案回答中不再包含推理过程。官方为两种模式分别给出了推荐采样参数思考模式使用temperature 0.6TopP 0.95TopK 20MinP 0非思考模式使用temperature 0.7TopP 0.8TopK 20MinP 0。服务化部署创建兼容 OpenAI API 的服务器Qwen3.6-35B-A3B 兼容 OpenAI API 协议可以直接使用 vLLM 配合 vllm-ascend 插件在昇腾服务器上创建 OpenAI API 服务器接口。默认会在http://localhost:8000启动服务器一次托管一个模型并实现列表模型models、文本补全completions和对话补全chat completions等端点。completions基本的文本生成任务模型在给定提示后生成一段文本通常用于生成文章、故事、邮件等。chat completions面向对话的任务模型需要理解和生成对话通常用于构建聊天机器人或对话系统。启动命令与参数说明在创建服务器时可以通过命令行参数指定模型名称、模型路径、聊天模板等参数作用--host/--port指定服务监听地址与端口--model指定模型名称或模型路径--chat-template指定聊天模板--served-model-name指定对外暴露的服务模型名称--max-model-len指定模型的最大长度复制以下命令到终端即可成功启动 Qwen3.6-35B-A3B 的 API 接口VLLM_USE_MODELSCOPEtrue vllm serve /root/autodl-tmp/Qwen/Qwen3.6-35B-A3B --served-model-name Qwen3.6-35B-A3B --max_model_len 8192命令中VLLM_USE_MODELSCOPEtrue保证模型自动下载走 ModelScope 通道--served-model-name指定 API 请求中使用的模型 ID 为Qwen3.6-35B-A3B--max_model_len 8192与离线推理脚本保持一致。加载完毕后出现如下信息说明服务成功启动日志中可以看到/v1/models、/v1/chat/completions、/tokenize、/inference/generate等 RESTful 路由注册信息以及Started server process与Application startup complete.的启动完成提示。查看模型列表通过curl命令查看当前的模型列表curl http://localhost:8000/v1/models得到的返回值如下{ object: list, data: [ { id: Qwen3.6-35B-A3B, object: model, created: 1767441055, owned_by: vllm, root: /root/autodl-tmp/Qwen/Qwen3.6-35B-A3B, parent: null, max_model_len: 8192, permission: [ { id: modelperm-ab5083b23cb93d96, object: model_permission, created: 1767441055, allow_create_engine: false, allow_sampling: true, allow_logprobs: true, allow_search_indices: false, allow_view: true, allow_fine_tuning: false, organization: *, group: null, is_blocking: false } ] } ] }返回结果中id为--served-model-name指定的名称max_model_len为 8192与启动参数一致。使用 curl 测试 Completions APIcurl http://localhost:8000/v1/completions \ -H Content-Type: application/json \ -d { model: Qwen3.6-35B-A3B, prompt: 我想问你5的阶乘是多少think\n, max_tokens: 1024, temperature: 0 }得到的返回值如下text字段已节选完整字段结构保留{ id: cmpl-b45e1856e1be429e, object: text_completion, created: 1767441153, model: Qwen3.6-35B-A3B, choices: [ { index: 0, text: 嗯好的我现在要算5的阶乘是多少。首先我得回忆一下阶乘的定义。……思考过程……所以最终的答案应该是120。\n/think\n\n5的阶乘记作5!是通过将从1到5的所有正整数相乘得到的。……\n\n因此**5的阶乘是120**。\n\n**答案120**, logprobs:null, finish_reason:stop, stop_reason:null, token_ids:null, prompt_logprobs:null, prompt_token_ids:null } ], service_tier:null, system_fingerprint:null, usage: { prompt_tokens: 12, total_tokens: 850, completion_tokens: 838, prompt_tokens_details: null }, kv_transfer_params:null }注意usage字段中的 token 统计prompt_tokens / completion_tokens / total_tokens可用于监控单次请求的资源消耗。在 prompt 末尾追加think\n可以显式引导模型进入思考过程。用 Python 脚本请求 Completions API# vllm_openai_completions.py from openai import OpenAI client OpenAI( base_urlhttp://localhost:8000/v1, api_keysk-xxx, # 随便填写只是为了通过接口参数校验 ) completion client.chat.completions.create( modelQwen3.6-35B-A3B, messages[ {role: user, content: 我想问你5的阶乘是多少think\n} ] ) print(completion.choices[0].message)运行python vllm_openai_completions.py得到的返回值如下节选ChatCompletionMessage(contentthink\n嗯用户问的是5的阶乘是多少。首先我得确认一下阶乘的定义。……思考过程……\n/think\n\n5的阶乘5!计算如下\n\n$$\n5! 5 \times 4 \times 3 \times 2 \times 1 120\n$$\n\n**答案120** \n阶乘表示从1乘到该数的所有整数的乘积常用于排列组合等数学问题中。, refusalNone, roleassistant, annotationsNone, audioNone, function_callNone, tool_calls[], reasoningNone, reasoning_contentNone)使用 curl 测试 Chat Completions APIcurl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: Qwen3.6-35B-A3B, messages: [ {role: user, content: 我想问你5的阶乘是多少think\n} ] }得到的返回值如下content字段已节选完整字段结构保留{ id:chatcmpl-b570ef80c3eb172c, object:chat.completion, created:1767441563, model:Qwen3.6-35B-A3B, choices:[ { index:0, message:{ role:assistant, content:think\n嗯用户问的是5的阶乘是多少。首先我需要确认阶乘的定义。……思考过程……\n/think\n\n5的阶乘5!是将1到5的所有正整数相乘的结果。计算过程如下\n\n$$\n5! 5 \times 4 \times 3 \times 2 \times 1 120\n$$\n\n**答案** 5的阶乘是 **120**。, refusal:null, annotations:null, audio:null, function_call:null, tool_calls:[], reasoning:null, reasoning_content:null }, logprobs:null, finish_reason:stop, stop_reason:null, token_ids:null } ], service_tier:null, system_fingerprint:null, usage:{ prompt_tokens:20, total_tokens:503, completion_tokens:483, prompt_tokens_details:null }, prompt_logprobs:null, prompt_token_ids:null, kv_transfer_params:null }用 Python 脚本请求 Chat Completions API# vllm_openai_chat_completions.py from openai import OpenAI openai_api_key sk-xxx # 随便填写只是为了通过接口参数校验 openai_api_base http://localhost:8000/v1 client OpenAI( api_keyopenai_api_key, base_urlopenai_api_base, ) chat_outputs client.chat.completions.create( modelQwen3.6-35B-A3B, messages[ {role: user, content: 什么是深度学习}, ] ) print(chat_outputs)运行python vllm_openai_chat_completions.py得到的返回值如下content字段已节选完整字段结构保留ChatCompletion(idchatcmpl-a8a98b44cd2f50fc, choices[Choice(finish_reasonstop, index0, logprobsNone, messageChatCompletionMessage(contentthink\n嗯用户问的是“什么是深度学习”我需要先理解这个问题。……思考过程与完整回答节选……, refusalNone, roleassistant, annotationsNone, audioNone, function_callNone, tool_calls[], reasoningNone, reasoning_contentNone), stop_reasonNone, token_idsNone)], created1767441799, modelQwen3.6-35B-A3B, objectchat.completion, service_tierNone, system_fingerprintNone, usageCompletionUsage(completion_tokens1393, prompt_tokens12, total_tokens1405, completion_tokens_detailsNone, prompt_tokens_detailsNone), prompt_logprobsNone, prompt_token_idsNone, kv_transfer_paramsNone)无论是curl还是openaiPython SDK 客户端只需要将base_url指向本机 vLLM 服务的http://localhost:8000/v1即可无缝复用现有的 OpenAI 生态工具链。api_key字段可以随便填写仅用于通过接口参数校验。后端日志与统计信息解读在以上所有的请求处理过程中API 后端都会打印对应的日志和统计信息从运行截图可以看到后端会记录每个请求的 HTTP 方法与路径如GET /v1/models、POST /v1/chat/completions及其响应状态同时Engine层会周期性输出推理统计信息包括Avg prompt throughput输入提示词的吞吐量tokens/s反映预填充prefill阶段的处理速度Avg generation throughput生成阶段的吞吐量tokens/s反映解码decode阶段的速度GPU KV cache usageKV 缓存使用率反映显存中缓存空间的占用情况Prefix cache hit rate前缀缓存命中率命中越高说明复用公共前缀的效果越好可显著降低重复请求的推理开销。这些指标是评估服务性能、判断是否需要调整max_model_len或批处理参数的重要依据。仓库配套Ascend 通用指南、优化建议与姊妹教程本文属于仓库《开源大模型食用指南》中昇腾 Ascend NPU 专区的一部分详见 support_model_Ascend.md 与 README.md 中的昇腾专区导航。与本文配套的还有同一技术栈的姊妹教程Qwen3-8B vLLM-ascend 部署调用同一 vllm-ascend 技术路径在 Qwen3-8B 上的部署案例Qwen3-8B MindIE 部署调用昇腾 MindIE 推理引擎的部署案例适合对比不同推理框架的适配方式Qwen3-8B sglang-ascend 部署调用SGLang 在昇腾上的部署案例。环境版本对比Qwen3-8B 与 Qwen3.6-35B-A3B将本文环境与姊妹教程 Qwen3-8B vLLM-ascend 部署调用 对比可以看到随 vllm/vllm-ascend 版本演进配套 CANN 与 torch 版本也在同步升级组件Qwen3-8B 教程Qwen3.6-35B-A3B 教程操作系统ubuntu 22.04ubuntu 22.04NPU 驱动25.2.025.2.0Python3.103.10CANN8.3.RC28.5.1torch / torch-npu2.8.02.9.0vllm0.13.00.18.0vllm-ascend0.13.0rc10.18.0rc1建议直接参照各教程给出的版本组合安装不要随意混用不同教程的版本号。通用性能优化建议仓库通用指南 support_model_Ascend.md 提供了几条可直接落地的性能优化建议CPU 高性能模式开启 CPU performance 模式在相同时延约束下大模型推理 TPS 会有约 3% 的提升cpupower -c all frequency-set -g performance透明大页开启透明大页THP后多次实验的吞吐率结果会更稳定echo always /sys/kernel/mm/transparent_hugepage/enabled框架加速在支持的硬件上使用对应加速框架如 MindIE、vllm-ascend 等模型量化可使用昇腾模型压缩工具 msModelSlim 对模型进行 W8A8 等量化在保证精度的前提下减少内存占用并提升推理速度。总结本文完整走通了 Qwen3.6-35B-A3B 在昇腾 NPU 上的 vllm-ascend 部署链路通过 pip 安装vllm0.18.0与vllm-ascend0.18.0rc1或直接使用 A2/A3 对应的 Docker 镜像用 ModelScope 下载模型权重编写vllm_model.py完成离线推理并掌握enable_thinking思考模式的开闭与两套官方推荐采样参数最后通过vllm serve启动兼容 OpenAI API 的服务并分别用curl与 Python SDK 验证了/v1/models、/v1/completions、/v1/chat/completions三个核心端点。配合仓库的通用环境指南与性能优化建议即可在生产环境按需扩展对话、内容生成等应用。若遇到环境装配问题可直接复用仓库在 AutoDL 平台准备的 v0.18.0 昇腾环境镜像大幅降低部署门槛。【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调全参数/Lora、部署国内外开源大模型LLM/多模态大模型MLLM教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进