在OpenHarmony本地部署大语言模型

c++enter;”>
本文将第二届openharmony技术大会上展示的《在openharmony本地部署大语言模型》成果开源,开源地址:https://gitee.com/openharmony-sig/tpc_c_cplusplus/

c++enter;”>在OpenHarmony本地部署大语言模型

本文将第二届openharmony技术大会上展示的《在openharmony本地部署大语言模型》成果开源,开源地址:https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/thirdparty/inferllm/docs/hap_integrate.md。

实现思路和步骤

移植轻量级LLM模型推理框架InferLLM到OpenHarmony标准系统,编译出能在OpenHarmony运行的二进制产物。

InferLLM 是一个简单高效的 LLM CPU 推理框架,可以本地部署 LLM 中的量化模型。

使用OpenHarmony NDK来编译OpenHarmony上的InferLLM可执行文件。

具体使用OpenHarmony lycium 交叉编译框架,然后编写一些脚本。然后把其存放在tpc_c_cplusplusSIG仓库。

本地部署大语言模型步骤

编译获取InferLLM三方库编译产物

下载OpenHarmony sdk,下载地址:http://ci.openharmony.cn/workbench/cicd/dailybuild/dailyList2.

下载本仓库。

git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1

登录后复制

# 设置环境变量export OHOS_SDK=解压目录/ohos-sdk/<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15718.html" target="_blank">linux</a># 请替换为你自己的解压目录 cd lycium./build.sh InferLLM

登录后复制

获取InferLLM三方库头文件及生成的库在tpc_c_cplusplus/thirdparty/InferLLM/目录下会生成InferLLM-405d866e4c11b884a8072b4b30659c63555be41d目录,该目录下存在已编译完成的32位和64位三方库。(相关编译结果不会被打包进入lycium目录下的usr目录)。

InferLLM-405d866e4c11b884a8072b4b30659c63555be41d/arm64-v8a-buildInferLLM-405d866e4c11b884a8072b4b30659c63555be41d/armeabi-v7a-build

登录后复制

将编译产物和模型文件推送至开发板运行

下载模型文件:https://huggingface.co/kewin4933/InferLLM-Model/tree/main。

将编译InferLLM生成的llama可执行文件、OpenHarmony sdk中的libc++_shared.so、下载好的模型文件chinese-alpaca-7b-q4.bin 打包成文件夹 llama_file。

# 将llama_file文件夹发送到开发板data目录hdc file send llama_file /data

登录后复制

# hdc shell 进入开发板执行cd data/llama_file# 在2GB的dayu200上加swap交换空间# 新建一个空的ram_ohos文件touch ram_ohos# 创建一个用于交换空间的文件(8GB大小的交换文件)fallocate -l 8G /data/ram_ohos# 设置文件权限,以确保所有用户可以读写该文件:chmod 777 /data/ram_ohos# 将文件设置为交换空间:mkswap /data/ram_ohos# 启用交换空间:swapon /data/ram_ohos# 设置库搜索路径export LD_LIBRARY_PATH=/data/llama_file:$LD_LIBRARY_PATH# 提升rk3568cpu频率# 查看 CPU 频率cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq# 查看 CPU 可用频率(不同平台显示的可用频率会有所不同)cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies# 将 CPU 调频模式切换为用户空间模式,这意味着用户程序可以手动控制 CPU 的工作频率,而不是由系统自动管理。这样可以提供更大的灵活性和定制性,但需要注意合理调整频率以保持系统稳定性和性能。echo userspace &gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_governor# 设置rk3568 CPU 频率为1.9GHzecho 1992000 &gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed# 执行大语言模型chmod 777 llama./llama -m chinese-alpaca-7b-q4.bin -t 4

登录后复制

移植InferLLM三方库在OpenHarmmony设备rk3568上部署大语言模型实现人机对话。最后运行效果有些慢,跳出人机对话框也有些慢,请耐心等待。

在OpenHarmony本地部署大语言模型

以上就是在OpenHarmony本地部署大语言模型的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:叮当,转转请注明出处:https://www.dingdanghao.com/article/580368.html

(0)
上一篇 2024-06-06 14:46
下一篇 2024-06-06 15:20

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号