??OpenAI的Karpathy利用周末搞了一個迷你Llama2項目llama2.c用500行C語言實現(xiàn)無任何依賴項的推理程序,此項目在github發(fā)布以來衍生出了基于各種語言的迷你Llama推理實現(xiàn)llama2.go、llama2.java、llama2.py等等;
??但該項目原本的模型并不支持中文,最近正好看到一個基于llama2的中文訓練模型;想著把它跑在樹莓派上速度會怎樣;
??使用Go實現(xiàn)進行模型推理,該在樹莓派中的Llama2 迷你中文模型,模型大小為15M使用的數(shù)據(jù)集為TinyStories 英文翻譯后的數(shù)據(jù)但僅翻譯了TinyStories 的部分數(shù)據(jù)目前為1M,中文詞表使用UTF-8編碼所以每個漢字為3個字節(jié);
在樹莓派中推理:
./llama2.go -checkpoint=stories15M-llama2-enzh.bin -tokenizer=tokenizer.bin -prompt="有個小姑娘"
2023/08/20 15:43:55 config: llama2.Config{Dim:288, HiddenDim:768, NumLayers:6, NumHeads:6, NumKVHeads:6,VocabSize:55296, SeqLen:256}
有個小姑娘。她正忙著在公園里玩耍。突然,她摔倒了,膝蓋受傷了。她需要舉起膝蓋。
她的父母提醒她保持冷靜,然后喬把她救回她的安全位置。他們給了她一些創(chuàng)可貼,并告訴她會幫助她感覺好一點。
小喬緊緊地抱住膝蓋,微笑著。她相信她的父母會幫助她感覺更好。
最終,收拾好竭,她的膝蓋感覺好多了。她很高興能能夠再次感到安全。
??可以看到在樹莓派中跑這個150萬參數(shù)的llama2模型Tokens/s速度只有每秒不到10;
??由于TinyStories只是短篇故事數(shù)據(jù)集,加上中文翻譯數(shù)據(jù)集也不完全,模型參數(shù)也只有百萬規(guī)模所以講故事的效果并不好;
文章來源:http://www.zghlxwxcb.cn/news/detail-659836.html
Go推理fork于:https://github.com/nikolaydubina/llama2.go
模型、詞表來源:https://github.com/chenyangMl/llama2.c-zh
文章首發(fā)地址:https://mp.weixin.qq.com/s/3jHg6kYFnd45JUZq9WK3sw文章來源地址http://www.zghlxwxcb.cn/news/detail-659836.html
到了這里,關(guān)于在樹莓派中跑迷你Llama2中文模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!