Project Icon

AI-Scientist

突破性全自动科学发现系统

AI-Scientist是一个全自动科学发现系统,采用大型语言模型进行独立研究。该系统可生成涵盖数据科学和机器学习等领域的科学论文。项目包含完整代码库、示例论文和详细文档,便于研究人员复现和拓展。AI-Scientist展示了人工智能在科学研究中的应用潜力,推动自动化科学发现的发展。


AI科学家:迈向全自动
开放式科学发现 🧑‍🔬

📚 [论文] | 📝 [博客文章] | 📂 [云端文件夹]

人工智能的一个重大挑战是开发能够独立进行科学研究和发现新知识的智能体。虽然前沿模型已经被用来辅助人类科学家,例如进行头脑风暴或编写代码,但它们仍然需要大量的人工监督或严格限制在特定任务中。

我们很高兴推出AI科学家,这是第一个用于全自动科学发现的综合系统,使基础模型(如大型语言模型LLMs)能够独立进行研究。

我们在这里提供了论文中所有的实验运行和数据,我们对每个模板使用每个基础模型运行了约50个想法。我们强烈建议阅读一些Claude论文(尤其是扩散模型相关的),以了解其优势和劣势。以下是AI科学家生成的一些示例论文 📝:

  1. 双尺度扩散:低维生成模型的自适应特征平衡
  2. 多尺度网格噪声适应:增强低维数据的扩散模型
  3. GAN增强扩散:提升样本质量和多样性
  4. DualDiff:通过双专家去噪增强低维扩散模型的模式捕获
  5. StyleFusion:字符级语言模型中的自适应多风格生成
  6. 通过Q学习实现Transformer的自适应学习率
  7. 解锁顿悟:Transformer模型权重初始化策略的比较研究
  8. 加速顿悟:Transformer泛化的层级学习率
  9. 通过压缩实现顿悟:揭示最小描述长度下的突然泛化
  10. 加速数学洞察:通过策略性数据增强促进顿悟

注意:请谨慎!此代码库将执行LLM编写的代码。这种自主性伴随着各种风险和挑战。这包括使用潜在危险的软件包、网络访问和可能启动的进程等。请自行酌情使用。请确保适当地进行容器化和限制网络访问。

自适应双尺度去噪

目录

  1. 要求
  2. 运行AI科学家论文生成实验
  3. 获取LLM生成的论文评审
  4. 制作自己的模板
  5. 模板资源
  6. 引用AI科学家
  7. 常见问题

要求

安装

conda create -n ai_scientist python=3.11
conda activate ai_scientist

# LLM APIs
pip install anthropic[bedrock] aider-chat backoff openai
# 可视化
pip install matplotlib pypdf pymupdf4llm
# 安装pdflatex
sudo apt-get install texlive-full

# 通用要求
pip install torch numpy transformers datasets tiktoken wandb tqdm

API密钥

OpenAI API (GPT-4)

默认使用OPENAI_API_KEY环境变量。

Anthropic API (Claude Sonnet 3.5)

默认使用ANTHROPIC_API_KEY环境变量。

对于Amazon Bedrock提供的Claude模型,请指定一组有效的AWS凭证和目标AWS区域

必需AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,(可选AWS_SESSION_TOKENAWS_DEFAULT_REGION

DeepSeek API (DeepSeek-Coder-V2)

默认使用DEEPSEEK_API_KEY环境变量。

OpenRouter API (Llama3.1)

默认使用OPENROUTER_API_KEY环境变量。

Semantic Scholar API (文献搜索)

我们的代码还可以选择使用Semantic Scholar API密钥(S2_API_KEY)以获得更高的吞吐量如果您有的话,虽然原则上不使用它也应该能正常工作。

确保为您的运行提供所使用模型的密钥,例如:

export OPENAI_API_KEY="您的密钥"
export S2_API_KEY="您的密钥"

设置NanoGPT

# 准备NanoGPT数据
python data/enwik8/prepare.py
python data/shakespeare_char/prepare.py
python data/text8/prepare.py

创建基准运行(取决于机器)

# 设置NanoGPT基准运行
# 注意:您必须先运行上面的准备脚本!
cd templates/nanoGPT && python experiment.py --out_dir run_0 && python plot.py

创建NanoGPT_lite基准运行。我们用它来进行健全性检查

# 注意:您必须先运行上面的准备脚本!
cd templates/nanoGPT_lite && python experiment.py --out_dir run_0 && python plot.py

设置2D扩散

# 设置2D扩散
git clone https://github.com/gregversteeg/NPEET.git
cd NPEET
pip install .
pip install scikit-learn

# 设置2D扩散基准运行
cd templates/2d_diffusion && python experiment.py --out_dir run_0 && python plot.py

设置顿悟

# 设置顿悟
pip install einops

# 设置顿悟基准运行
cd templates/grokking && python experiment.py --out_dir run_0 && python plot.py

运行AI科学家论文生成实验

**注意:**请确保完成上述设置步骤。

conda activate ai_scientist
# 运行论文生成。
python launch_scientist.py --model "gpt-4o-2024-05-13" --experiment nanoGPT_lite --num-ideas 2
python launch_scientist.py --model "claude-3-5-sonnet-20240620" --experiment nanoGPT_lite --num-ideas 2

获取LLM生成的论文评审

import openai
from ai_scientist.perform_review import load_paper, perform_review
client = openai.OpenAI()
model = "gpt-4o-2024-05-13"

# 从PDF文件加载论文(原始文本)
paper_txt = load_paper("report.pdf")
# 获取审核字典
review = perform_review(
    paper_txt,
    model,
    client,
    num_reflections=5,
    num_fs_examples=1,
    num_reviews_ensemble=5,
    temperature=0.1,
)

# 检查审核结果
review["Overall"]  # 总体评分1-10
review["Decision"]  # ['接受', '拒绝']
review["Weaknesses"]  # 缺点列表(字符串)

运行批量分析:

cd review_iclr_bench
python iclr_analysis.py --num_reviews 500  --batch_size 100 --num_fs_examples 1 --num_reflections 5 --temperature 0.1 --num_reviews_ensemble 5

创建自己的模板

如果你想让AI科学家探索某个研究领域,创建自己的模板应该很容易。通常,请遵循现有模板的结构,包括:

  • experiment.py -- 这是一个包含主要内容的单一文件。它接受一个out_dir参数,用于创建文件夹并保存运行的相关信息。
  • plot.py -- 这应该从run文件夹中获取信息并创建图表。代码应该清晰易编辑。
  • prompt.json -- 在此处放置有关模板的信息。
  • seed_ideas.json -- 在此处放置示例想法。你也可以尝试在没有任何示例的情况下生成想法,然后选择最好的一两个放在这里。
  • latex/template.tex -- 我们建议使用我们的latex文件夹,但请确保将预加载的引用替换为你预期更相关的引用。

模板资源

我们提供了3个模板,这些模板大量使用了其他仓库的代码,我们在下面对此表示感谢。(通常,我们会在文件本身中做这个,但不清楚这会如何影响AI科学家,因为它会是可见的)。

NanoGPT模板使用了NanoGPT和这个PR的代码。

2D扩散模板使用了tiny-diffusionema-pytorchDatasaur的代码。

Grokking模板使用了Sea-Snell/grokkingdanielmamay/grokking的代码。

我们要感谢这些开源模型和包的开发者们的贡献,以及他们公开分享自己的工作。

引用AI科学家

如果你在研究中使用了AI科学家,请按以下方式引用:

@article{lu2024aiscientist,
  title={The {AI} {S}cientist: Towards Fully Automated Open-Ended Scientific Discovery},
  author={Lu, Chris and Lu, Cong and Lange, Robert Tjarko and Foerster, Jakob and Clune, Jeff and Ha, David},
  journal={arXiv preprint arXiv:2408.06292},
  year={2024}
}

常见问题

我们建议首先阅读我们的论文,了解你对AI科学家的任何问题。

为什么运行AI科学家时缺少文件?

确保在运行主实验脚本之前完成所有设置和准备步骤。

为什么没有生成PDF或审核?

AI科学家完成一个想法的成功率取决于模板、基础模型和想法的复杂性。我们建议参考我们的主要论文。使用Claude Sonnet 3.5观察到最高的成功率。 审核最好用GPT-4o完成,所有其他模型在积极偏见或未能符合所需输出方面都存在问题。

生成每个想法的成本是多少?

使用Claude Sonnet 3.5通常每篇论文不到15美元。我们推荐DeepSeek Coder V2作为更具成本效益的方法。寻找新模型的好地方是Aider排行榜

如何更改与写作相关的基础会议格式?

更改每个模板中包含的基础template.tex文件。

如何为不同的学科领域运行AI科学家?

请参考不同模板的说明。在当前版本中,这仅限于可以用代码表达的想法。然而,取消这一限制将代表令人兴奋的未来工作!:)

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号