ai-scientist部署和使用
目录
利用这个框架,并进行后期的人工核查、手工润色、AIGC降重,我成功发表了一篇期刊论文。
学历到底有没有用
写这篇博客的目的不为别的,就是狠狠打脸那些唯学历论的人,给他们上一点科技与狠活。
姜文说过一句话:我们现在的社会,除了科技在上升,其他的没有变化,传承了5000年的吃人文化没那么容易颠覆。
高考的作用
读过县城高中的人都知道,仅一门高中数学,就可以挡住一半青年上大学,有些农村人确实是笨了点,或者不上进不想好,筛掉也就筛了。物化生再挡住一半高中生,所以在中西部地区,那些读不好理工的人,才会去读文科。高考的作用。纯纯是为了的基因筛选,并给优秀的普通家庭孩子一次逆天改名的机会。这条逆天之路,随着大学扩招而灰飞烟灭。大学扩招了,地主家的傻儿子也能上大学了,体制内子弟都能三代四代了,阶级永远固化了,穷人永无翻身之日。普通人如果失去高考,事业斗不过官二代,爱情斗不过富二代。在上海我见过太多有钱人家的子女,从小玩到大,连大专学历都是花钱买的,然后出国读了个水硕,回国当个小管理骑在理科人都上,“外地狗”、“土包子”、“臭本科”、“小镇做题家”都从他们嘴里冒出来。我是一个从小在上海读书的外地人,我住的地方,周围的几个上海房东家子女,5个人中只有一个参加高考,仅是一个二本,要知道上海有10所985/211,每年仅有5万考生,一年有两次高考(春考秋考)!上海高考难度全国倒数第二。但就是这么个环境,我身边的310上海本地人,几乎看不到985/211人,像样的本科生都屈指可数。
论文的作用
如果说高考的作用是让优秀的穷人有一份高新的工作,那么论文的作用就是人才评价的唯一标准。
在国家眼里,人才是红利,人口是负担。本科生不一定是人才,所以需要有一个东西来鉴别什么是人才。
目前国家是以论文评人才,所以很多人都去读研,想进大城市体制内至少要是个研究生。但是读了研究生、博士生,出来就是人才了吗?
我有两个导师,一个刚评上了国家优秀青年,一个是某个管理学协会总理事长,所以我对论文这个东西的评价,算是比较公正。
95%的论文其实一点卵用都没有,对生产根本没有促进和指导作用,在我眼里,除了一区和二区的部分SCI论文,其他的paper的价值甚至不如程序员写的一篇博客。而且近几年不断爆出论文数据造假的新闻,连nature这种顶刊都撤下两篇,更是动摇了论文的地位。但就是这95%的论文,让多少从小到大不学无数之人,成为了人上人,让多少本该属于好孩子的岗位,被这些人抢去,导致国家的竞争力逐渐丧失。读最好的本科,挨最恨的毒打;水最烂的硕士,享惬意的人生。
珍惜你身边的中国前150所毕业的理工科人,他们在替中国负重前行。
高考的翻身作用逐渐趋于0,论文的人才选拔租用逐渐趋于0,给很多人错觉是读书无用论。书还是要读的,无知的代价依然可怕。
就业岗位的性价比
- 工作岗位职责模糊的,职责经常变动的大概率是垃圾岗位,这个我在华为遇到了,吃尽了苦头。这种岗位,容易让你干两个人的活拿一个人的钱,容易让你干你不喜欢或不擅长的活。招聘公司不画能力地图,进错部门吃哑巴亏。
- 在确定岗位职责后,清楚每个职责的市场价格,并累加到一起作为总包年薪。如果是外企,工资相比国内高一半。(中国劳动在初次分配的占比是25%,发达国家36%以上,北欧瑞士等高福利国家能达到45%),干同样的活拿两倍的钱他不香吗,这个和爱不爱国不沾边,每天一句sir this way神清气爽。
- 在自己能力满足要求的情况下,薪资的底线是当地合同面积60平房子的房价中位数除以10年,少于这个价格不去。TMD老子不吃不喝10年都买不起你们这的房子,干鸡毛,回家种地躺平开网店多好啊?
材料准备
- AI-scientist项目克隆:https://github.com/SakanaAI/AI-Scientist.git
- Anaconda安装:官网地址https://www.anaconda.com/ ,下载最新版并安装,Anaconda可以管理多个版本的python和三方包,所以放心安装最新版。
- 海外GPU云服务器:文本采用阿里云国外GPU服务器,显卡型号A10,region首尔,系统Alibaba cloud linux,驱动driver550,cuda12.4,cudnn9.2,价格11.66元/小时,系统盘调成100GB。由于ai-scientist需要使用bfloat16算法,所以必须使用支持 sm_80 或更高架构的 GPU。阿里云的T4显卡和P100显卡过于老旧不支持本项目。本文计划是先创建首尔GPU实例,待环境搭建好后保存系统镜像,再到法兰克福创建共享型GPU实例,价格2元/小时。创建实例时,系统镜像选择公共镜像Alibaba cloud linux最新版,同时在页面下方点击安装驱动、cuda和cudnn。
- wildcard账号一个:这是美国虚拟银行卡申请和充值网站。当你创建国外各种ai账号和充值时需要美国银行卡。网址是 https://bewildcard.com。
- AWS账号1个:使用wildcard虚拟银行卡注册AWS账号,并向AWS账号充值20美刀以上。写出来的论文会在AWS上自动创建云服务器并做实验,所以论文数据真实有效,绝对没有造假。
- OpenRouter秘钥1个:openrouter可以通过一个key访问国外所有ai官网,包括chatgpt、claude、DeepSeek等等。网址是https://openrouter.ai 。注意他访问的是官网,不是某些人搭建的中转网管。使用虚拟银行卡给这个key充值,保证在使用中不欠费。
Ubuntu显卡驱动安装方法(本文不用)
AI-scientist依赖pytorch深度学习框架,pytorch依赖cuda,所以要求服务器必须有显卡,可以是vGPU,安装550驱动和cuda12.1以上版本。
由于阿里云的Debian内核缺少nvidia.ko,导致安装Nvidia显卡驱动后,内核无法调用驱动。令我气愤的是为什么要把这么关键的ko给阉割掉?使用阿里云Ubuntu22系统在安装texlive-full时会卡在98%进度,所以本文也不采用Ubuntu。
# 禁用 nouveau
vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
# 更新系统驱动
update-initramfs -u
# 重启
reboot
# 下载必要系统包
apt update && apt upgrade -y
apt -y install gcc make
apt -y install linux-headers-$(uname -r) build-essential libglvnd-dev pkg-config
# 查看显卡型号
lspci|grep NVIDIA
# 下载对应型号显卡驱动。网址 https://www.nvidia.cn/drivers
# T4显卡驱动安装如下
cd /tmp && wget https://cn.download.nvidia.com/tesla/560.35.03/NVIDIA-Linux-x86_64-560.35.03.run
bash NVIDIA-Linux-x86_64-560.35.03.run
本文开始:baseline基线环境准备
验证显卡和驱动版本
实例创建后,会自动运行一个脚本,安装driver、cuda、cudnn,安装完成后系统会重启,耗时10分钟。
待系统ready,ssh登录进行基线配置
nvidia-smi
系统包安装
Alibaba cloud linux安装texlive,时间很长,占用15GB磁盘空间。
# 安装pdflatex,时间会很长
dnf update -y
reboot
dnf install -y texlive
安装Anaconda3
# 工作目录
cd /opt
# linux安装Anaconda
wget https://mirrors.ustc.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
bash Anaconda3-2024.06-1-Linux-x86_64.sh
# 第一步,阅读协议,一直按空格,最后输入yes
# 第二步,输入安装位置,/opt/anaconda3
# 第三步,开机自启动,输入no
创建conda虚拟环境
# 创建一个conda虚拟环境(conda虚拟环境只保存在Anaconda安装目录下,和venv不一样)
# 启动conda
cd /opt/
source /opt/anaconda3/bin/activate
# 创建虚拟环境
conda create -n ai_scientist python=3.11
# 激活虚拟环境
conda activate ai_scientist
安装依赖
# Install pypi requirements
cd /opt/
# 克隆项目
dnf install -y git
git clone https://github.com/SakanaAI/AI-Scientist.git
cd AI-Scientist/
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
NanoGPT数据训练
接下来我们需要训练一个本地小模型NanoGPT,来模拟一个真人科学家。我们所有的选题、撰写、实验、验证步骤都由这个虚拟科学家来完成。
下载训练所需数据
# 进入项目
cd /opt/AI-Scientist/
# 准备 NanoGPT 数据
python data/enwik8/prepare.py
python data/shakespeare_char/prepare.py # 这一步需要科学上网,所以本文用海外服务器
python data/text8/prepare.py
开始训练,耗时取决于你的显卡
# Set up NanoGPT baseline run
# NOTE: YOU MUST FIRST RUN THE PREPARE SCRIPTS ABOVE!
# 创建基线
cd /opt/AI-Scientist/
cd templates/nanoGPT && python experiment.py --out_dir run_0 && python plot.py
# 创建轻量级基线,用于健康检查
cd /opt/AI-Scientist/
cd templates/nanoGPT_lite && python experiment.py --out_dir run_0 && python plot.py
训练2D Diffusion
安装npeet
cd /opt/
git clone https://github.com/gregversteeg/NPEET.git
cd NPEET
pip install .
pip install scikit-learn
训练2D模型
cd /opt/AI-Scientist/
cd templates/2d_diffusion && python experiment.py --out_dir run_0 && python plot.py
训练Grokking
cd /opt/AI-Scientist/
# Set up Grokking
pip install einops
# Set up Grokking baseline run
cd templates/grokking && python experiment.py --out_dir run_0 && python plot.py
开始使用AI-scientist
论文选题
# 激活虚拟环境
cd /opt/
source /opt/anaconda3/bin/activate
conda activate ai_scientist
cd /opt/AI-Scientist/
使用不同模型生成论文选题
官方文档给出的案例,使用了gpt4或者claude 3.5,需要你购买Openai的key或Anthropic的key。
# 使用gpt4模型生成两个论文题目(idea)
python launch_scientist.py --model "gpt-4o-2024-05-13" --experiment nanoGPT_lite --num-ideas 2
# 或者使用claude 3.5生成两个论文题目(claude3.5不如gpt4性能好)
python launch_scientist.py --model "claude-3-5-sonnet-20240620" --experiment nanoGPT_lite --num-ideas 2
官方的这两个命令用的是lite模型,而我们训练了四个模型,分别是NanoGPT、NanoGPT_lite、2D、Grokking,其中NanoGPT最强大,所以可以把命令中nanoGPT_lite替换成nanoGPT。
本文采用的是OpenRouter,官方文档并没有给出使用命令,所以需要查看一下
(ai_scientist) [root@iZmj7hrma AI-Scientist]# python launch_scientist.py -h
usage: launch_scientist.py [-h] [--skip-idea-generation] [--skip-novelty-check] [--experiment EXPERIMENT]
[--model {claude-3-5-sonnet-20240620,gpt-4o-2024-05-13,deepseek-coder-v2-0724,llama3.1-405b,bedrock/anthropic.claude-3-sonnet-20240229-v1:0,bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0,bedrock/anthropic.claude-3-haiku-20240307-v1:0,bedrock/anthropic.claude-3-opus-20240229-v1:0vertex_ai/claude-3-opus@20240229,vertex_ai/claude-3-5-sonnet@20240620,vertex_ai/claude-3-sonnet@20240229,vertex_ai/claude-3-haiku@20240307}]
[--writeup {latex}] [--parallel PARALLEL] [--improvement] [--gpus GPUS] [--num-ideas NUM_IDEAS]
Run AI scientist experiments
options:
-h, --help show this help message and exit
--skip-idea-generation
Skip idea generation and load existing ideas
--skip-novelty-check Skip novelty check and use existing ideas
--experiment EXPERIMENT
Experiment to run AI Scientist on.
--model {claude-3-5-sonnet-20240620,gpt-4o-2024-05-13,deepseek-coder-v2-0724,llama3.1-405b,bedrock/anthropic.claude-3-sonnet-20240229-v1:0,bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0,bedrock/anthropic.claude-3-haiku-20240307-v1:0,bedrock/anthropic.claude-3-opus-20240229-v1:0vertex_ai/claude-3-opus@20240229,vertex_ai/claude-3-5-sonnet@20240620,vertex_ai/claude-3-sonnet@20240229,vertex_ai/claude-3-haiku@20240307}
Model to use for AI Scientist.
--writeup {latex} What format to use for writeup
--parallel PARALLEL Number of parallel processes to run. 0 for sequential execution.
--improvement Improve based on reviews.
--gpus GPUS Comma-separated list of GPU IDs to use (e.g., '0,1,2'). If not specified, all available GPUs will be used.
--num-ideas NUM_IDEAS
Number of ideas to generate
官方文档中写到
OpenRouter API (Llama3.1)
By default, this uses the OPENROUTER_API_KEY environment variable.
所以正确的模型应该是llama3.1-405b
key环境变量
在材料准备中,我们在OpenRouter上创建了一个key,并用美国银行卡进行了充值,现在我们需要将key变成系统环境变量
# 根据自己实际情况,将引号中内容替换成自己的key,下方的key是软件随机生成的假key。
export OPENROUTER_API_KEY="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"
官方项目还支持openai、claude的官方key,以及亚马逊、谷歌提供的claude key。详情见:
https://github.com/SakanaAI/AI-Scientist/blob/main/README.md
根据key和之前调查模型的结果,我们可以模拟出OpenRouter可用的命令
python launch_scientist.py --model "llama3.1-405b" --experiment nanoGPT --num-ideas 1
这里num-ideas调成1可以避免触及OpenRouter每分钟消耗token的峰值限制。
论文生成
如图,进过显卡一顿输出,得到几个选题。
- Exploring Tokenization Schemes for Efficient and Effective Transformer Models
- The Impact of Tokenization Granularity on Transformer Model Performance and Interpretability
- Exploring the Impact of Initialization Strategies on Transformer Model Performance
论文题目直接选择最后生成的那个,因为AI会从近三年论文中检索热门话题,所以迭代次数越多,选题越优秀。可以看到本文生成的选题3重复出现,说明已经稳定可用。这是一个研究A影响B的选题,非常容易开展实验,nice。
另外,图中还显示Semantic Scholar调用太频繁,触及每分钟流量限制。实际上是我们没有S2 key。如果你有学术邮箱或者公司邮箱,则可以申请一个S2 key来加速。申请地址:https://www.semanticscholar.org/product/api#api-key-form。
这个S2 key必须要有,否则程序会一直报错,运行不下去。
论文生成时间很长。一直等到出论文pdf为止
后期的论文审核,可以用官方文档给的代码,不赘述。
原文地址:https://blog.csdn.net/qq_43626147/article/details/142717809
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!