Rumah > Peranti teknologi > AI > Sebarkan model bahasa besar secara setempat dalam OpenHarmony

Sebarkan model bahasa besar secara setempat dalam OpenHarmony

王林
Lepaskan: 2024-06-07 10:02:23
asal
975 orang telah melayarinya

Sebarkan model bahasa besar secara setempat dalam OpenHarmony

Artikel ini akan membuka sumber hasil "Pengedaran Tempatan Model Bahasa Besar dalam OpenHarmony" yang ditunjukkan pada Persidangan Teknologi OpenHarmony ke-2 alamat sumber terbuka: https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob. /master/thirdparty /InferLLM/docs/hap_integrate.md.

Idea dan langkah pelaksanaan

Pindahkan rangka kerja inferens model LLM yang ringan InferLLM kepada sistem standard OpenHarmony, dan susun produk binari yang boleh dijalankan pada OpenHarmony.

InferLLM ialah rangka kerja inferens CPU LLM yang mudah dan cekap yang boleh menggunakan model pengkuantitian dalam LLM secara tempatan.

Gunakan OpenHarmony NDK untuk menyusun InferLLM boleh laku pada OpenHarmony.

Gunakan rangka kerja kompilasi silang lycium OpenHarmony secara khusus, dan kemudian tulis beberapa skrip. Kemudian simpan di gudang tpc_c_cplusplusSIG.

Langkah-langkah penggunaan tempatan model bahasa besar

Kompil dan dapatkan produk tersusun perpustakaan pihak ketiga InferLLM

Muat turun OpenHarmony sdk, alamat muat turun: http://ci.openharmony.cn/workbench/cicd/dailybuild/dailyList2.

Muat turun gudang ini.

git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1
Salin selepas log masuk
# 设置环境变量export OHOS_SDK=解压目录/ohos-sdk/linux# 请替换为你自己的解压目录 cd lycium./build.sh InferLLM
Salin selepas log masuk

Dapatkan fail pengepala perpustakaan pihak ketiga InferLLM dan pustaka yang dijana akan menjana InferLLM-405d866e4c11b884a8072b4b30659c63555be/tpplus directory/third y. Terdapat 3 direktori yang disusun dalam direktori ini. bit dan perpustakaan pihak ketiga 64-bit. (Hasil kompilasi yang berkaitan tidak akan dibungkus ke dalam direktori usr di bawah direktori lycium).

InferLLM-405d866e4c11b884a8072b4b30659c63555be41d/arm64-v8a-buildInferLLM-405d866e4c11b884a8072b4b30659c63555be41d/armeabi-v7a-build
Salin selepas log masuk

Tolak fail produk dan model yang telah disusun ke papan pembangunan untuk dijalankan

Muat turun fail model: https://huggingface.co/kewin4933/InferLLM-Model/tree/main.

Bungkus fail boleh laku llama yang dijana dengan menyusun InferLLM, libc++_shared.so dalam OpenHarmony sdk dan fail model yang dimuat turun chinese-alpaca-7b-q4.bin ke dalam folder llama_file.

# 将llama_file文件夹发送到开发板data目录hdc file send llama_file /data
Salin selepas log masuk
# 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
Salin selepas log masuk

Port pustaka pihak ketiga InferLLM dan gunakan model bahasa besar pada peranti OpenHarmmony rk3568 untuk merealisasikan dialog manusia-komputer. Kesan larian akhir adalah agak perlahan, dan pop timbul kotak dialog manusia-mesin juga agak perlahan. Sila tunggu dengan sabar.

Sebarkan model bahasa besar secara setempat dalam OpenHarmony

Atas ialah kandungan terperinci Sebarkan model bahasa besar secara setempat dalam OpenHarmony. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan