AI-Scientist

AI-Scientist

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

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

AI Scientist科学发现机器学习人工智能论文生成Github开源项目
<h1 align="center"> <a href="https://github.com/SakanaAI/AI-Scientist/blob/main/docs/logo_2.png"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/00f71ba3-3dac-42be-bb94-8d3a729c18d9.png" width="215" /></a><br> <b>AI科学家:迈向全自动</b><br> <b>开放式科学发现 🧑‍🔬</b><br> </h1> <p align="center"> 📚 <a href="https://arxiv.org/abs/2408.06292">[论文]</a> | 📝 <a href="https://sakana.ai/ai-scientist/">[博客文章]</a> | 📂 <a href="https://drive.google.com/drive/folders/1G7A0wTqfXVa-cpexjk0oaXakaSJwffEt">[云端文件夹]</a> </p>

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

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

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

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

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

<p align="center"> <a href="https://github.com/SakanaAI/AI-Scientist/blob/main/example_papers/adaptive_dual_scale_denoising/adaptive_dual_scale_denoising.pdf"><img src="https://yellow-cdn.veclightyear.com/835a84d5/fe507693-6c20-4064-ad1e-0b9830d08cb5.gif" alt="自适应双尺度去噪" width="80%" /> </p>

目录

  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科学家?

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

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多