ホームページ  >  記事  >  テクノロジー周辺機器  >  OpenHarmony で大規模な言語モデルをローカルにデプロイする

OpenHarmony で大規模な言語モデルをローカルにデプロイする

王林
王林オリジナル
2024-06-07 10:02:23873ブラウズ

OpenHarmony で大規模な言語モデルをローカルにデプロイする

この記事は、第 2 回 OpenHarmony テクノロジ カンファレンスでデモンストレーションされた「OpenHarmony での大規模言語モデルのローカル デプロイメント」の結果をオープンソース化します。オープンソースのアドレス: https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob。 /master/サードパーティ /InferLLM/docs/hap_integrate.md。

実装のアイデアと手順

軽量 LLM モデル推論フレームワーク InferLLM を OpenHarmony 標準システムに移植し、OpenHarmony 上で実行できるバイナリ製品をコンパイルします。

InferLLM は、LLM の量子化モデルをローカルにデプロイできる、シンプルで効率的な LLM CPU 推論フレームワークです。

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/linux# 请替换为你自己的解压目录 cd lycium./build.sh InferLLM

InferLLM サードパーティ ライブラリ ヘッダー ファイルを取得すると、生成されたライブラリは tpc_c_cplusplus/thirdparty/InferLLM/ ディレクトリに InferLLM-405d866e4c11b884a8072b4b30659c63555be41d ディレクトリを生成します。 3 このディレクトリ内のディレクトリ 2-ビットおよび 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 > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor# 设置rk3568 CPU 频率为1.9GHzecho 1992000 > /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 で大規模な言語モデルをローカルにデプロイするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。