当前位置: 首页 > news >正文

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

相关文章:

  • 常见排序算法之插入排序
  • leetcode——169.多数元素(多解法)
  • 回溯算法05(leetcode491/46/47)
  • 消防体验馆升级,互动媒体点亮安全之路!
  • MySQL--复合查询
  • wordpress woocommer 添加代码实现,点击按钮,将产品添加到购物车并且跳转到结账页面
  • 西储大学数据集学习
  • 2024年华为OD机试真题-火星文计算-C++-OD统一考试(C卷D卷)
  • Linux 删除SSH密钥(id_ed25519),重新生成
  • 生成式AI模型大PK——GPT-4、Claude 2.1和Claude 3.0 Opus
  • WPF之TextBlock文本标签
  • nuxt3+Element Plus项目搭建过程记录
  • 【源码】Spring Data JPA原理解析之Repository执行过程及SimpleJpaRepository源码
  • K-独立钻石(dfs),G-邪恶铭刻(贪心)
  • 反编译 Trino Dockerfile
  • 230. Kth Smallest Element in a BST
  • 78. Subsets
  • Angular4 模板式表单用法以及验证
  • github从入门到放弃(1)
  • Hibernate最全面试题
  • Java反射-动态类加载和重新加载
  • js中forEach回调同异步问题
  • node-glob通配符
  • nodejs调试方法
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 如何设计一个微型分布式架构?
  • 微服务框架lagom
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 《码出高效》学习笔记与书中错误记录
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 阿里云API、SDK和CLI应用实践方案
  • 进程与线程(三)——进程/线程间通信
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​Linux·i2c驱动架构​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • !!java web学习笔记(一到五)
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • $.ajax()参数及用法
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (¥1011)-(一千零一拾一元整)输出
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (Qt) 默认QtWidget应用包含什么?
  • (翻译)terry crowley: 写给程序员
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (七)理解angular中的module和injector,即依赖注入
  • (生成器)yield与(迭代器)generator
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)项目管理杂谈-我所期望的新人
  • ***通过什么方式***网吧
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 微服务 服务保护 自动重试 Polly
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈