@george 作者是阿里达摩院的MNN框架组的王召德,我有他钉钉,我在天天催更
Posts made by 顾真牛
-
RE: Full Record of CM5 Running ChatGLM-MNN Big Language Model
-
RE: Full Record of CM5 Running ChatGLM-MNN Big Language Model
@george 目前 MNN 量化不彻底,推理时实际还是f16,所以速度还是慢。
而且 不是很稳定,应该说很不稳定,几条就会奔溃杀死进程。 -
RE: 跑在coolpi CM5上的LLM大语言模型
@allen 代码的链接地址都贴了
其实也不用什么教程,我只是把所有模型都试了一下,很多能跑但是特别慢的我就没提了。
要是有什么问题,可以提出来交流下 -
RE: coolpi-cm5-evb 入手教程(一)
@jack_admin 那天我下载了99% 然后我把电源踢掉了,然后 在目录 chekout 了 main分支 哈哈
-
coolpi-cm5-evb 入手教程(一)
官方wifi刚建还不完善,论坛其实很多教程,但是有的过时了,有的不太好找,本帖尽量保持更新。
刷机
参考 这个帖子里的U盘刷机方式 是目前最方便的。cm5-evb的镜像在 Onedrive网盘下载
供电
- 注意供电!注意供电!注意供电! 重要的事情说三遍。我的做法,不用typec口
直接供电接口上12-24V DC,功率给够。
显示屏
目前测试了edp屏,HDMI接口,双屏异显待测。
之前一直骚包追求4K屏,其实吧,还是1080p够用了
上个图,15吋京东方1080P 很香。挂载固态硬盘
注意,nv硬盘是PCIE接口的(单缺口)2242的,现在价格大跳水,赶紧入个大的当NAS吧。安装好硬盘后,上电启动,在终端输入下面命令
sudo fdisk /dev/nvme0n1
进行分区。
然后根据提示,依次输入:n、p、1、回车、回车、w。
意思是新建一个主分区,大小是整个sdb硬盘,然后保存退出。
当然你也可以根据自己情况,自己主分区、扩展分区、逻辑分区。然后输入命令
sudo mkfs.ext4 /dev/nvme0n1
进行分区的格式化,为ext4的文件系统
然后在你想要的地方创建挂载硬盘的目录,并进行挂载
sudo mkdir /NAS sudo mount /dev/nvme0n1 /NAS
这样,新硬盘就挂载到 /NAS 目录了
当然还没完,到这里,每次系统重启你都得挂载一遍硬盘,咱们还需要设置下自动挂载
首先 运行下面的命令
sudo blkid /dev/nvme0n1
查看nvme0n1的UUID并记下来。
然后编辑 /etc/fstab 文件,添加下面这行UUID=xxxxxxxxxxxxxx /NAS ext4 defaults
其中“xxxxxxxxxxxx”就是刚刚查看的UUID “/NAS”是你要挂载的目录名 其他照抄即可
ok,重启下,df -h 看看是不是已经自动挂载好了。
编译内核
这就是我最爱coolpi的地方了,自己编译自己内核,实时更新,太方便了。
之前官方出了个教程 Ubuntu 22.04 桌面版本 内核编译,有些过时,这里针对CM5-evb把大概流程再捋一下:- 第一步,安装依赖
sudo ln -sf /usr/bin/python3 /usr/bin/python sudo apt install flex bison
- 第二步,git clone 内核代码
建议就放在刚刚挂载的大硬盘里,代码编译后还是比较占地方的。
ubuntu@coolpi:~$ cd /NAS ubuntu@coolpi:/NAS$ git clone -b develop https://github.com/yanyitech/coolpi-kernel.git 正克隆到 'coolpi-kernel'...
注意这里一定拉取的是develop分支,目前(2023年4月16日)CM5还没合并到主分支
- 第三步,编译
./build-kernel.sh cm5-evb-v11
- 修改内核配置步骤
make ARCH=arm64 menuconfig
保存修改后的配置,起个名字,比如cm5config
然后copy cm5config 到arch/arm64/configs/rk3588_cpcm5_evb_defconfigcp cm5config arch/arm64/configs/rk3588_cpcm5_evb_defconfig
当然,你也可以在这之前把arch/arm64/configs/rk3588_cpcm5_evb_defconfig这个文件备份一下。
- 修改内核
cd out sudo cp * /boot/firmware/
当然也可以按需copy进内核
- 注意供电!注意供电!注意供电! 重要的事情说三遍。我的做法,不用typec口
-
RE: 跑在coolpi CM5上的LLM大语言模型
@xingzhan2012 目前基本上市面上有的LLM中文模型我都试了。上图跑的是基于斯坦福大学那个羊驼扩充中文词表后微调的模型有7B和14B两个模型。
清华大学那个6B模型应该也可以跑,但是量化推理程序用的阿里的MNN框架,在arrch64上编译有点问题,正在解决。
-
跑在coolpi CM5上的LLM大语言模型
目前跑的7B的,CPU推理 四线程最好
内存占用2-4G
预计可以跑13B的模型我也不知道为什么这个模型有点骚气
目前可以在RK3588上跑的LLM大语言模型,我基本都找来测试过了,现在汇总下吧:
首先推荐的 llama.cpp 转为ggml模型,支持4-bit量化 主要是跑FB泄露的LLAMA模型权重的。
然后斯塔福出的羊驼(Alpaca),以及各种基于羊驼训练而来的模型都支持。 比如我上图就是一个中文的羊驼 Chinese LLaMA / Alpaca
如何获取模型,按他文档或者笔记去操作就行。实测13B的模型,内存占用4G左右,速度还是可以接受,效果基本可达到在GPT3
目前感兴趣的是另外一个模型 中文小羊驼Chinese-Vicuna 测试完再说
另外在coolpi尝试失败 在x86环境跑通的模型有:
ChatGLM-MNN 基于阿里MNN框架量化,清华的chatGLM模型
没有跑成功的原因是 MNN在arrch64编译有问题,已经提交issue,但是阿里那边因为缺少环境,暂时没能解决。这个有空我在琢磨下,ChatGLM还是目前比较好的中文开源模型。另外一个 是基于RWKV 模型(一个迭代很努力的中文模型) 和llama.cpp 做的
rwkv.cpp
编译能跑通,但是算法在arrch64下明显有问题,已提交了issue,但也因为作者没有环境,暂时没能解决 -
RE: HDMI接口新增特殊分辨率时序
https://www.cool-pi.com/topic/131/coolpi-4b-linux-kernel开发在线更新说明?_=1680497887440
用这个更新内核没错吧?? 似乎没啥效果啊
根据
DTD 1: 3840x1100 59.998 Hz 192:55 68.998 kHz 282.890 MHz (1196 mm x 336 mm) Hfront 48 Hsync 32 Hback 180 Hpol P Vfront 3 Vsync 5 Vback 42 Vpol N
最终添加了一个
/* 0x59 - 3840x1100@60Hz RB */ { DRM_MODE("3840x1100", DRM_MODE_TYPE_DRIVER, 282890, 3840, 3888, 4068, 4224, 0, 1100, 1103, 1108, 1108, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) },
-
RE: HDMI接口新增特殊分辨率时序
添加了下面 几行,然并卵
/* 0x59 - 3840x1080@120Hz RB */ { DRM_MODE("3840x1080", DRM_MODE_TYPE_DRIVER, 540000, 3840, 3848, 3880, 3920, 0, 1080, 1130, 1138, 1144, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) }, /* 0x60 - 3840x1100@60Hz RB */ { DRM_MODE("3840x1100", DRM_MODE_TYPE_DRIVER, 282890, 3840, 3848, 3880, 3920, 0, 1100, 1118, 1126, 1132, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) },
edid信息如下
Detailed Timing Descriptors:
DTD 1: 3840x1100 59.998 Hz 192:55 68.998 kHz 282.890 MHz (1196 mm x 336 mm)
Hfront 48 Hsync 32 Hback 180 Hpol P
Vfront 3 Vsync 5 Vback 42 Vpol N
Display Range Limits:
Monitor ranges (GTF): 48-120 Hz V, 30-180 kHz H, max dotclock 600 MHz
DTD 2: 3840x1080 120.000 Hz 32:9 135.000 kHz 540.000 MHz (1196 mm x 336 mm)
Hfront 48 Hsync 64 Hback 48 Hpol P
Vfront 3 Vsync 10 Vback 32 Vpol N
Display Product Name: 'HDMI'
Extension blocks: 1
Checksum: 0x24我这应该怎么填?
-
RE: cm5-evb 的刷机教程希望出一个
@george 帮忙看下吧 我加了几个地方不对
'''
{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000, 4096, 4184,
4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
.picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, },
'''.picture_aspect_ratio 这个好像是屏幕比例 我这特殊屏 192:55 或者 32:9的哪里添加
-
RE: cm5-evb 的刷机教程希望出一个
1:首先安装解析工具:
sudo apt-get install read-edid edid-decode
2:解析 edid.bin
parse-edid < edid.binr看到解析出的信息。
cat edid.bin edid-decode > edid.txt