交叉编译 llama.cpp
本教程将指导你如何为 Synaptics Astra™ Machina™ 交叉编译 llama.cpp 二进制文件(在主机上构建二进制文件以用于自定义)。
备注
本教程兼容所有 SL16xx 系列板卡。虽然推理性能可能不同,但操作步骤在所有处理器上是一致的。
此外,llama.cpp 并不限于 LLaMA 模型,它还支持 Phi3、Mistral、TinyLlama 等多种其他模型,是一款适用于多种机器学习应用的通用工具。
更多有关 llama.cpp 的详细信息,请访问 官方 GitHub 仓库。
前置条件
如果你更倾向于直接在 Machina 开发板上原生编译二进制文件,请参考之前的教程:使用 llama.cpp 在 Astra 上运行 LLMs。
对于交叉编译,请将你的宿主开发机设为 Ubuntu。在 Ubuntu 系统中,你首先需要搭建一个适用于 Astra Machina 开发板 的 Yocto 环境。为此,请从 Astra SDK 发布页面 获取预编译的工具链。
从 独立工具链 页面下载与你处理器对应的版本。在本教程中,我们使用的是 SL1680。
下载完成后,在 Ubuntu 中打开终端并执行以下命令:
bash sl1680-poky-glibc-x86_64-astra-media-cortexa73-sl1680-toolchain-4.0.17.sh
现在运行以下命令激活环境:
. /opt/poky/4.0.17/environment-setup-cortexa73-poky-linux
提示
要检查环境是否已激活,可在 Ubuntu 终端运行以下命令:
echo $CC