OrangePi AIpro初识及使用大模型GPT-Neo-1.3B测试
OrangePi AIpro介绍 1.1. 开发板简介 Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭 载了昇腾AI 处理器,可提供8TOPS INT8 的计算能力,内存提供了8GB 和16GB 两种版本。可以实现图像、视频等多种数据分析与推理计算,可广泛用于教育、机 器人、无人机等场景。 1.2.
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 multiversedeb 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 multiversedeb 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还是有很大优势,硬件上和软件系统上考虑开发者入门提供了很多便利。后期还会不断使用其他方式去验证,大家可以关注。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)