测速示例程序,方便大家测试不同软硬件下的推理性能。作者测试的速度可以参考这里。
由于实际使用时很难满足batch的条件,也并非贪婪解码,该速度与真实使用时的速度有一定差异。
CPU:
./benchmark -p chatglm-6b-int4.flm -f prompts.txt -t [线程数] --batch [Batch大小]
GPU:
./benchmark -p chatglm-6b-int4.flm -f prompts.txt --batch [Batch大小]
由 Jacques CHEN 提供,鸣谢!
Win32Demo,是windows平台上运行FastLLM程序的一个Visual Studio工程。
由于Windows控制台默认编码为ANSI(中文是GBK编码,code page 936),而FastLLM默认输入输出编码为UTF-8,故与main
存在一些差异,特提供专门的版本。为防止部分token是半个字符(如BPE编码),目前连续的中文字符是一并输出的。
生成的exe位置为:Win32Demo\bin\Win32Demo.exe
请尽量编译Release版本,速度快!
除此之外提供了fastllm的.vcproj文件,带GPU支持,本项目最低可在Visual Studio 2015 Update 3 下编译通过。 (但是编译pyfastllm至少需要 MSVC 2017)
fastllm工程目前分为CPU版本和GPU版本,为简单上手,在没有cmake时,本项目可以使用Visual Studio工程文件并配置预处理器定义开关功能项。默认使用CPU版本。
签出代码后,修改 include/fastllm.h,Visual Studio中点击”文件“ -> "高级保存选项",在编码中选择”Unicode (UTF-8 带签名) -代码页 65001“,或在其他文本编辑器中转为”UTF-8 BOM“编码。(由于linux下gcc不识别BOM头,该修改只能手动处理。)
CPU版本:
GPU版本:
打开命令提示符cmd;
cd example\Win32Demo\bin
;
运行时参数与main
基本一致。但多一个参数 -w
,表示启动webui,不加为控制台运行。如:
Win32Demo.exe -p c:\chatglm-6b-v1.1-int4.flm -w
Android,使用Android studio工具建立的一個Android平台上运行LLM程序的例子。
1.在Android Studio直接打开工程运行。
2.直接下载release目录里里面的apk体验。
3.可以通过CMake工具链编译main文件(具体步骤见主页的readme),通过adb shell运行,
adb push main /data/local/tmp
将main文件放到手机的tmp文件夹,adb shell
,cd /data/local/tmp
./main
运行。注意:demo apk 会将模型文件复制到应用 data 目录以方便 native 读取,因此设备需准备至少两倍模型大小的空余空间。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。