>  기사  >  기술 주변기기  >  OpenHarmony에서 대규모 언어 모델을 로컬로 배포

OpenHarmony에서 대규모 언어 모델을 로컬로 배포

王林
王林원래의
2024-06-07 10:02:23873검색

OpenHarmony에서 대규모 언어 모델을 로컬로 배포

이 기사는 제2회 OpenHarmony 기술 컨퍼런스에서 시연된 "OpenHarmony에서 대규모 언어 모델의 로컬 배포" 결과를 오픈 소스로 제공합니다. 주소: https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob /master/thirdparty /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개의 디렉토리가 있습니다. 비트 및 64비트 타사 라이브러리. (해당 컴파일 결과는 lycium 디렉토리 아래 usr 디렉토리에 패키징되지 않습니다.)

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

컴파일된 제품과 모델 파일을 실행용 개발 보드에 푸시하세요

모델 파일 다운로드: https://huggingface.co/kewin4933/InferLLM-Model/tree/main.

OpenHarmony SDK에서 InferLLM, libc++_shared.so를 컴파일하여 생성된 llama 실행 파일과 다운로드한 모델 파일 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.