微信扫码
与创始人交个朋友
我要投稿
实验环境
Raspberry Pi4 8G
Raspiois_arm64
llama.cpp
qwen2-0_5b-instruct-q5_k_m.gguf
modelscope
openai
这几年人工智能很火,事实上,以1956年达特茅斯会议为节点开始,到现在人工智能经历了三次主要的浪潮,现在正是第三次浪潮。杰弗里·埃弗里斯特·辛顿(Geoffrey Everest Hinton)在2006年发表的一篇论文《A fast learning algorithm for deep belief nets》,标志着机器学习里的一个重要分支深度学习的出现,深度学习简单来说就是借鉴人脑的神经网络,搭建一个神经网络模型,具有输入层、隐藏层和一个输出层,让模型去学习人类输入进去的数据,得到经验。
而真正引爆第三次人工智能浪潮的是2012年由辛顿(Hinton)和他的学生伊利亚・苏茨克沃(Ilya Sutskever)以及亚历克斯・克里切夫斯基(Alex Krizhevsky)设计出的AlexNet深度神经网络,第一次使用了nvidia的显卡进行矩阵的并行计算,表现出了GPU在深度神经网络训练上表现出的惊人能力。由此大家似乎看到了我们一直想要实现的可以自主学习的人工智能有了实现的可能。时至今日,在人工智能(Artificial Intelligence)这个领域已经产出了诸多的路线和理论。
近两年比较火的便是LLM大语言模型,其属于NLP自然语言处理这个子领域,2017年由Google的研究人员发表了一篇论文,提出了一种名叫Transformer的序列建模神经网络架构,后续基于transformer的相关研究,则催生了两个最著名的Transformer模型类别:生成预训练Transformer——GPT和基于Transformer的双向编码器表示——BERT。后来在2022年年底由Openai发布的ChatGPT则引发了人们惊叹生成式AI的不可思议,到今天已经一年半过去,在这段时间里催生了诸多新的研究,可以乐观的想,是时候了,就趁现在。
随着大模型不断的变小,人们希望大模型能够就在自己的手机里运行。下面我将演示在树莓派搭建一个qwen2 0.5b的模型推理服务,可以像调用OpenAI的服务一样使用。
pip3 install modelscope==1.17.1
pip3 install openai==1.30.5
由于huggingface在国内访问比较麻烦,可以考虑在modelscope上下载,这是由阿里云搭建的跟huggingface一样的平台。
wget https://www.modelscope.cn/models/qwen/Qwen2-0.5B-Instruct-GGUF/resolve/master/qwen2-0_5b-instruct-q5_k_m.gguf
也可以使用modelscope来下载
#模型下载
from modelscope import model_file_download
model_dir = model_file_download(model_id='qwen/Qwen2-0.5B-Instruct-GGUF',
file_path='qwen2-0_5b-instruct-q5_k_m.gguf',
revision='master',
cache_dir='/root/autodl-tmp')
git clone https://github.com/ggerganov/llama.cpp
这里的编译是CPU编译,对于有CUDA等GPU推理的环境可以针对相应的硬件进行编译。
cd llama.cpp
make
也可以使用cmake编译
cmake -B build
cmake --build build --config Release
使用make编译后的文件就在当前目录下,使用cmake编译后的文件在build/bin
目录下
编译成功后可看见
此处使用cmake编译,需要进入build/bin目录,如果使用make编译,注意相对路径的问题
./llama-cli -m /home/pi/qwen2-0_5b-instruct-q5_k_m.gguf -n 512 -co -i -if -f ../../prompts/chat-with-qwen.txt --in-prefix "<|im_start|>user\n" --in-suffix "<|im_end|>\n<|im_start|>assistant\n" -ngl 24 -fa
./llama-server -m /home/pi/qwen2-0_5b-instruct-q5_k_m.gguf -n 1024 --host 0.0.0.0 --port 8000
import openai
print(openai.__version__)
# '1.30.1'
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1",
api_key="sk-no-key-required")
messages=[
{"role": "system", "content": "你是一个乐于助人的助手"},
{"role": "user", "content": "太阳系有几大行星,分别是哪几个"}
]
completion = client.chat.completions.create(model="gpt-3.5.turbo", messages=messages)
print(completion.choices[0].message)
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-22
花60元,DIY了一个AI机器人,能聊天,会认人……
2024-12-21
基于AI智能助理的软件开源组件安全检查
2024-12-21
Llama2024年度要点总结
2024-12-21
重磅! Github Copilot 免费了
2024-12-20
万字长文帮你搞定AI Agent选型
2024-12-20
微软开源的 Markitdown 可将任意文件转换为 Markdown 格式,PDF 解析咋样?
2024-12-20
Claude的MCP(模型上下文协议)简介
2024-12-20
历时2年,华人团队力作,震撼开源生成式物理引擎Genesis,可模拟世界万物
2024-05-06
2024-07-25
2024-08-13
2024-06-12
2024-07-11
2024-06-16
2024-07-20
2024-09-20
2024-06-15
2024-07-25
2024-12-20
2024-12-19
2024-11-22
2024-11-19
2024-11-13
2024-11-13
2024-10-07
2024-09-22