OrangePi AIpro初识及使用大模型GPT-Neo-1.3B测试

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还是有很大优势,硬件上和软件系统上考虑开发者入门提供了很多便利。后期还会不断使用其他方式去验证,大家可以关注。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wgqabc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值