大型语言模型
LLM是功能强大的工具,具有多种用途,但其输出可能包含不准确、偏见或安全问题。
大型语言模型(LLM)是在大量文本上训练的模型,能够理解和生成类人语言,帮助完成如回答问题、撰写内容或总结文本等任务。
大型语言模型(LLM)是诸如OpenAI的ChatGPT等流行服务的基础。让我们现在就在Synaptics Astra上运行一个LLM吧!
本指南假设您已熟悉Astra开发板的设置。如未设置,请参考设置教程。
本快速指南兼容所有SL16xx开发板。虽然推理性能可能有所不同,但所有Astra SL系列处理器的操作步骤均一致。
运行Gemma和Qwen等LLM
Gemma 3(2.7亿参数)和Qwen 1.5(5亿参数)是为边缘设备设计的紧凑高效LLM。它们的轻量级架构使其能够在资源有限的硬件上顺畅运行,例如配备4GB内存的Synaptics Astra SL1680。
安装 llama-cpp-python
要在Astra开发板上运行LLM,我们将使用llama-cpp-python包,它为Georgi Gerganov的llamacpp提供了方便的Python绑定。
我们已为Astra Yocto Linux SDK预编译了llama-cpp-python,
某些AI模型操作需要SQLite3。Astra SDK OOBE v1.7及以上版本已预装SQLite3。若为旧版本,请使用以下命令安装:
运行Gemma 3 -270M模型
Gemma 3 270M是一款紧凑型、拥有2.7亿参数的模型,专为任务特定微调而设计,具备强大的指令遵循和文本结构能力,并已完成相关训练。

要启动Gemma 3模型的交互式聊天会话,请使用:
python3 -m llm.gemma
您也可以通过示例仓库运行其他大型语言模型,如Qwen:
python3 -m llm.qwen

您可以通过修改examples/llm/qwen.py/中的response_stream来更改LLM回答的问题:
response_stream = llm.create_chat_completion(
messages=[{"role": "user", "content": "请介绍一下Synaptics公司?"}], #根据需要修改"content"
stream=True # 启用流式输出
)
运行Deepseek等LLM
DeepSeek R1因其基准测试接近OpenAI的o1模型以及更高效的训练过程而备受关注。完整的DeepSeek R1模型拥有6710亿参数,推理需>1TB内存,目前嵌入式设备无法运行。但DeepSeek也发布了多款适合边缘设备的R1模型蒸馏版本。
DeepSeek R1 Distill Qwen2.5 1.5B
我们关注DeepSeek R1在边缘AI推理中的实际应用,因此将介绍DeepSeek R1 Distill Qwen2.5 1.5B——DeepSeek R1发布的最小模型,可在Synaptics Astra SL1680上流畅运行。
| DeepSeek R1 | 一个开放权重模型,使用强化学习激励链式思考(CoT)推理 |
| Distill | 知识蒸馏的结果,即从大型预训练教师模型(此处为DeepSeek R1)训练出较小的学生模型 |
| Qwen2.5 | 阿里巴巴的Qwen2.5 Math模型作为蒸馏学生模型 |
| 1.5B | 1.5B参数是Qwen学生模型的规模 |
以下命令可下载DeepSeek R1 Distill Qwen2.5 1.5B并运行推理:
python3 -m llm.deepseek
经过详细解释后,最终会回复正确结果:
最终答案: \[ \boxed{504} \]
代码示例在DeepSeek R1蒸馏模型上运行AIME问题,可在examples/llm/deepseek.py/中修改:
problem = "一个等腰梯形内切圆与其四条边都相切。圆的半径为3,梯形面积为72。梯形的两条平行边长度分别为r和s,且r不等于s。求r^2 + s^2。"
response_stream = llm.create_chat_completion(
messages=[{"role": "user", "content": problem}],
stream=True
)
其他资源
-
关于如何为llama.cpp生成这些二进制文件的详细教程,请参阅在Astra上运行LLM教程。
-
关于使用Llamafile运行Meta Llama 3.2模型,请参阅在Astra上运行Llama。
更多高级实操教程,请访问下一节:教程。