OrangePi AIpro介绍
1.1. 开发板简介
Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭
载了昇腾AI 处理器,可提供8TOPS INT8 的计算能力,内存提供了8GB 和16GB
两种版本。可以实现图像、视频等多种数据分析与推理计算,可广泛用于教育、机
器人、无人机等场景。
1.2. 开发板的硬件规格
1.3 开发板接口
一些基础
安装官方系统
参考http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html
下载官方工具和linux
使用balenaEtche烧录
初始密码
烧录完成后进入系统,会要求输入初始密码,官方系统的初始密码:Mind@123
使用MobaXterm连接
如果使用有线网络 ,在路由器里查询设备ip,用户名:HwHiAiUser 密码:Mind@123 即可登录
若使用无线网络,需要登录系统后设置wifi密码,连接上网络后查询ip
Session里选择SSH,设置如下(我的OrangePi查询到的ip:192.168.50.19)
ubuntu22 开机自动登录
习惯性的,拿到系统就去掉密码,设置好开机自动登录,会节省时间
最开始默认的桌面如下
更改桌面为ubuntu
点击如下位置
选择ubuntu
向日葵远程桌面
安装
下载地址
https://sunlogin.oray.com/download/linux?type=personal
选择麒麟版本
按官网要求安装
设置开机自启动
启动startup application在里面添加向日葵的自启动
一般是/usr/local/sunlogin/bin/sunloginclient
重启即可
换源
编辑sources.list文件
sudo vim /etc/apt/source.list
加入清华源
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
保存后更新源和升级包
sudo apt update
sudo apt upgrade
大模型llama测试
准备环境
先查看python版本
安装Transformers库
sudo pip install transformers
安装后才发现使用的是miniconda环境,安装到了python3.10,而使用的是3.9.2(感谢群友Mr.jiang)
conda deactivate
#关闭自动source
conda config --set auto_activate_base false
再安装transformers
上面方法能解决安装transformers问题,但是系统默认安装的torch就不能用了,所以最好的解决方式如下安装:
python -m pip install transformers -i https://mirrors.aliyun.com/pypi/simple/
安装opencv和PyTorch
系统默认已经装好,这块就不用自己安装了
如果关闭了conda环境,那就需要自己装了
下载模型
安装git-lfs
sudo apt install git-lfs
可以通过运行git lfs install
来确认git-lfs是否正确安装
git clone https://opencsg.com/models/shareAI/llama3-Chinese-chat-8b.git --depth 1
模型比较大,第一次下载时sd卡空间不够用,换了一个64G的卡,重新下载才够用,这个模型待测
使用大模型数据GPT-Neo-1.3B
如果下载经常超时,可以尝试换源
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "EleutherAI/gpt-neo-1.3B"
tokenizer = AutoTokenizer.from_pretrained(model_name, mirror='tuna')
model = AutoModelForCausalLM.from_pretrained(model_name, mirror='tuna')
如果网络下载总失败,可以通过百度网盘下载
链接:https://pan.baidu.com/s/1cZ0tEHpXLfIy7rLEoGL57g?pwd=kp5b
提取码:kp5b
里面模型文件需自己解压
编写测试程序
import torch
from transformers import GPTNeoForCausalLM, GPT2Tokenizer
tokenizer = GPT2Tokenizer.from_pretrained('EleutherAI/gpt-neo-1.3B')
model = GPTNeoForCausalLM.from_pretrained('EleutherAI/gpt-neo-1.3B')
# 设置 open-end 生成的 pad token id
model.config.pad_token_id = model.config.eos_token_id
# 对话循环
while True:
# 接收用户输入
user_input = input("You: ")
# 如果用户输入为空,结束对话
if not user_input:
break
# 将用户输入转化为模型输入
input_ids = tokenizer.encode(user_input, return_tensors='pt')
attention_mask = torch.ones(input_ids.shape, dtype=torch.long, device=model.device)
# 生成回复
output_ids = model.generate(
input_ids=input_ids.to(model.device),
attention_mask=attention_mask.to(model.device),
max_length=50,
pad_token_id=model.config.pad_token_id,
do_sample=True,
temperature=0.7
)
# 解码生成的 token id
bot_reply = tokenizer.decode(output_ids[0], skip_special_tokens=True)
# 输出回复
print("Bot:", bot_reply)
本机装的torch版本低,需要升级
pip install --upgrade torch
使用过程中发现内存不够
先查看内存使用情况
watch -n 1 free -m
暂时无法在飞书文档外展示此内容
按官方文档扩展内存
再运行程序,可以测试大模型对话,免费的还是一般
其他模型也可以自行下载尝试
总结:
OrangePi AIpro相比树莓派,nano还是有很大优势,硬件上和软件系统上考虑开发者入门提供了很多便利。后期还会不断使用其他方式去验证,大家可以关注。