通过命令使用 ChatGPT

  • Ubuntu
sudo apt install moreutils
chatgpt install
Install mode: Log in to ChatGPT in the browser that pops up, and click
through all the dialogs, etc. Once that is achieved, exit and restart
this program without the 'install' parameter.


    Provide a prompt for ChatGPT, or type /help or ? to list commands.                                                        

1> /quit
GoodBye!

macOS 上删除登录项中允许在后台的项目

对操作系统操作至关重要的作业定义存储在 /System/Library 下。您永远不需要在这些目录中创建守护进程或代理。与每个用户相关的第三方定义存储在 /Library 下。特定用户的作业定义存储在相应用户的 Library 目录下。

Type Location Run on behalf of
User Agents ~/Library/LaunchAgents Currently logged in user
Global Agents /Library/LaunchAgents Currently logged in user
Global Daemons /Library/LaunchDaemons root or the user specified with the key UserName
System Agents /System/Library/LaunchAgents Currently logged in user
System Daemons /System/Library/LaunchDaemons root or the user specified with the key UserName

ChatGPT 快速入门

版本 发布时间 模型参数 GPU内存 能力
GPT 2018年 1.17亿 8G 文本自动补全、问答、语句生成
GPT-2 2019年 15亿 16G 文本自动补全、问答、语句生成、命名实体识别、关系抽取
GPT-3 2020年 1750亿 32G 文本自动补全、问答、语句生成、命名实体识别、关系抽取、文本分类、翻译
GPT-3.5 2021年 1750亿 32G 基于 GPT-3 微调的一系列模型
  • 语言生成任务:文本自动补全、问答、语句生成
  • 语言理解任务:命名实体识别、关系抽取、文本分类、翻译

使用 ChatGPT 的模型(gpt-3.5-turbo)进行多轮对话 import openai completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你一位中国历史学者。"}, {"role": "user", "content": "中国最伟大的女帝是谁?

OpenWrt

  • Images built after May 31 2020 are based on Ubuntu 18.04.
  • x86 This image has 26G, and the dependent software packages and compiled binaries are in it. It can be used directly for x86, or it can be recompiled through simple configuration.
  • x86-bin This image contains only x86 binaries generated by compilation.
  • Reconfiguration:
rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s
  • Output path after compilation: /lede/bin/targets

解决方法: ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.3 The authenticity of host '192.168.1.3 (192.168.1.3)' can't be established.

在 MacBook Pro M2 Max 上安装 PyTorch

安装每日构建版本

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu

升级

pip3 install --upgrade --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu

在 MacBook Pro M2 Max 上构建开发环境

今天预订的 MacBook Pro M2Max 16寸 顶配 64G内存 2T硬盘到了,¥36097 。

# zsh => .zshrc  bash => .bashrc
vim ~/.zshrc
export PATH=$PATH:/opt/homebrew/bin
source ~/.zshrc
source ~/.bash_profile
conda clean -i

我配置了清华和阿里云的镜像源,但是都没有成功,最后还是使用了默认的源。

配置文件在 ~/.docker/daemon.json

运行 docker info 查看配置是否生效。

$ docker info

Server:
 Registry Mirrors:
  https://75oltije.mirror.aliyuncs.com/
  http://hub-mirror.c.163.com/
  https://docker.mirrors.ustc.edu.cn/

必须指定 python 的版本,高版本会出现下面的错误: 2023-03-26 17:28:36.

安装Kubernetes 1.26.0

kubectl apply -f components.yaml

角色绑定

kubectl create clusterrolebinding kubernetes-dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

本机运行

scp root@172.16.33.157:/etc/kubernetes/admin.conf ~/.kube/config
kubectl proxy
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/node?namespace=default

服务器端获取 Token

kubectl -n kubernetes-dashboard create token kubernetes-dashboard

解决方法:

sudo mv /etc/containerd/config.toml /tmp/
sudo systemctl restart containerd

解决方法: sudo systemctl daemon-reload su

学习【机器学习平台】建设的经验

重要的研究方向

  • 大模型
  • 怎么让黑盒的深度学习跟知识能够进行融合变成可解释,然后增加常识。

近两年模型都已经到万亿级别了

  • Google Switch Transformer
  • OpenAI GPT-3
  • 阿里 M6

搜索系统是先以内容分析为主,再结合了用户行为;而推荐系统则是以用户行为为主,再尝试结合内容理解。 内容理解可以帮助推荐系统为用户做更加个性化的内容分发和匹配,探索如何更好地利用内容理解为推荐系统进一步提升个性化推荐能力。

怎么去考虑 AI 技术布局?(任何新技术都是类似的) 如果我们都只关注于未来三个月或半年就能落地的技术,那么很显然它是不具备可持续发展的。反之,如果只关注中长期才能见效的研究方向和研究项目的话,那么不确定性又会非常大,毕竟业务对于 AI 技术的渴求是非常强烈的。所以技术布局本质上是一个短期项目与长期项目配比的问题。 公司首要面临的是行业里激烈的市场竞争,我们的基本原则首先是希望能够去做对公司业务有意义的研究,在这个基础上再做选择,哪些技术业界已经进入到相对成熟的阶段,这类技术我们就想办法进行业务落地;哪些技术可能是行业未来发展的趋势,我们需要持续投入资源去做研发;哪些项目是要短期 3-5 个月就能够看到效果,哪些是中期或者长达 5-10 年才有效果。这个比例是要做充分考量的,比例不合适的时候公司业务发展就可能出问题。

百度 EasyEdge 端与边缘 AI 服务平台

EasyEdge 是基于百度飞桨轻量化推理框架 Paddle Lite 研发的端与边缘 AI 服务平台,能够帮助深度学习开发者将自建模型快速部署到设备端。可基于多种深度学习框架、网络结构的模型,快捷转换发布适配多种 AI 芯片与操作系统的端/边缘计算模型,支持纯离线计算/端云协同服务。

Install TVM from Source

LLVM Download Page

wget https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz
tar xvf clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz
mv clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04 llvm

最终编译出两个动态库:libtvm_runtime.so, libtvm.so

想要使用 RPC Tracker

pip3 install --user tornado

想要使用 auto-tuning module

pip3 install --user tornado psutil xgboost cloudpickle

TVM

from tvm.driver import tvmc
model = tvmc.load('resnet50-v2-7.onnx')
package = tvmc.compile(model, target="llvm")


from tvm.driver import tvmc
model = tvmc.load('sign.onnx') #Step 1: Load
package = tvmc.compile(model, target="llvm") #Step 2: Compile
result = tvmc.run(package, device="cpu") #Step 3: Run
print("Time :", timeit.default_timer() - starttime)


import onnx
import tvm
from tvm import relay
// ...

ONNX Simplifier

onnxsim 本身只提供 constant folding/propagation(即消除结果恒为常量的算子)的能力,而图变换(即合并 conv 和 bn 等等)的能力是由 onnxsim 调用 onnx optimizer 的各种 pass 实现的。constant folding 和图变换同时使用时,很多隐藏的优化机会会被挖掘出来,这也是 onnxsim 优化效果出色的原因之一。例如 add(add(x, 1), 2) 在变换为 add(x, add(1, 2)) 之后就可以通过 constant folding 变为 add(x, 3),而 pad(conv(x, w, padding=0), add(1, 1)) 在经过 constant folding 变为 pad(conv(x, w, padding=0), 2) 后,就可以进一步融合成 conv(x, w, padding=2)。

https://www.convertmodel.com/