하룻밤 사이 수백 개의 논문이 생성된다고? AI Scientist가 바꾸는 연구의 미래

소개

생성형 AI 기술의 발전으로 학술 연구 분야에서도 자동화 도구의 활용이 확대되고 있습니다. 이 게시글에서는 최근 주목받고 있는 'AI Scientist'라는 혁신적인 도구를 소개합니다. AI Scientist는 파운데이션 모델을 활용하여 논문 작성의 전 과정을 자동화하는 엔드투엔드 파이프라인으로, 연구 아이디어 생성부터 최종 논문 작성까지 전체 과정을 지원합니다.

원래 "생성형 AI로 논문 초안 쓰기: 당신의 시간을 돌려드립니다."라는 주제로 시리즈를 계획했으나, AI Scientist라는 더욱 혁신적인 도구가 등장하여 주제를 변경하게 되었습니다. AI Scientist는 단순한 초안 작성을 넘어 Full automation을 통해 연구의 전 과정을 자동화하는 솔루션입니다.

"생성형 AI로 논문 초안 쓰기: 당신의 시간을 돌려드립니다."는 제가 참고했던 유튜브 링크(https://www.youtube.com/watch?v=fPUCOWGZO0c&t=5s)로 대체 합니다.

AI Scientist 개요

참조링크 : https://sakana.ai/ai-scientist/

AI Scientist는 최신 파운데이션 모델의 발전을 바탕으로 논문 작성의 전 과정을 자동화한 엔드투엔드 파이프라인입니다.

예를 들어, GitHub에 공개된 기존 연구의 오픈소스 코드와 같은 간단한 초기 코드베이스광범위한 연구 주제만 주어지면, AI Scientist는 다음과 같은 작업들을 스스로 수행할 수 있습니다:

  • 아이디어 생성

  • 관련 문헌 검색

  • 실험 계획 수립

  • 실험 반복 수행

  • 그래프 및 시각자료 생성

  • 논문 작성

  • 논문 리뷰

이러한 일련의 과정을 통해 통찰력 있는 연구 논문을 생성할 수 있습니다.

더 나아가, AI Scientist는 개방형 루프 구조(open-ended loop)로 작동할 수 있습니다. 즉, 이전에 생성한 아이디어와 피드백을 활용해 다음 세대의 아이디어를 개선하며, 인간 과학자 커뮤니티의 연구 진화 방식을 모방합니다.


종이 프로토 타입 생성 과정을 보여주는 다이어그램

AI Scientist의 4가지 핵심 프로세스

AI Scientist는 다음의 4단계로 구성된 과정을 통해 논문을 생성합니다:


1. 아이디어 생성 (Idea Generation)

초기 템플릿이 주어지면, AI Scientist는 다양하고 창의적인 새로운 연구 방향을 브레인스토밍합니다.

  • 우리는 특정 연구 주제에 대한 기존 코드 템플릿을 제공합니다.

  • AI Scientist는 이 템플릿을 기반으로, 어떤 방향으로든 자유롭게 탐색하며 새로운 아이디어를 발전시킬 수 있습니다.

  • 템플릿에는 논문 작성을 위한 LaTeX 스타일 파일과 섹션 헤더가 포함되어 있습니다.

  • 또한, Semantic Scholar 검색 기능을 활용해 제안된 아이디어가 기존에 없던 독창적인(novel) 아이디어인지 검증합니다.


2. 실험 반복 (Experimental Iteration)

아이디어와 템플릿이 확정되면, 다음 단계에서는 제안된 실험을 실행하고 결과를 시각화합니다.

  • 실험 결과를 바탕으로 시각 자료(그래프 등)를 생성합니다.

  • 각 그래프가 어떤 내용을 담고 있는지 주석을 달아 설명합니다.

  • 이렇게 저장된 시각 자료와 실험 노트는 논문 작성에 필요한 모든 정보를 제공합니다.


3. 논문 작성 (Paper Write-up)

AI Scientist는 자신의 연구 진행 상황을 LaTeX 형식의 표준 머신러닝 학회 논문 스타일간결하고 정보가 풍부하게 정리합니다.

  • 논문 작성 과정에서도 Semantic Scholar를 활용해 적절한 인용 논문을 자동으로 검색하여 인용합니다.


4. 자동화된 논문 리뷰 (Automated Paper Reviewing)

이 프로젝트의 핵심 요소 중 하나는 LLM 기반 자동 리뷰어의 개발입니다.

  • 생성된 논문을 거의 인간 수준의 정확도로 평가할 수 있습니다.

  • 리뷰는 현재 프로젝트를 더 개선하거나, 다음 세대의 아이디어 발전을 위한 피드백으로 활용됩니다.

  • 이로써 지속적인 피드백 루프가 형성되어 AI Scientist는 반복적으로 연구 성과를 향상시킬 수 있습니다.

AI Scientist GitHub

참조링크 : https://github.com/SakanaAI/AI-Scientist

인공지능의 주요 도전 과제 중 하나는 과학 연구를 수행하고 새로운 지식을 발견할 수 있는 에이전트를 개발하는 것입니다. 최첨단 모델들은 이미 인간 과학자들을 도와 아이디어를 브레인스토밍하거나 코드를 작성하는 데 사용되고 있지만, 여전히 광범위한 수동 감독이 필요하거나 특정 작업에 한정되어 있습니다.

우리는 이제 The AI Scientist를 소개하게 되어 매우 기쁩니다. 이 시스템은 완전 자동 과학 발견을 위한 최초의 종합 시스템으로, 대형 언어 모델(LLMs)과 같은 파운데이션 모델이 독립적으로 연구를 수행할 수 있도록 합니다.

우리는 논문에서 사용한 모든 실행 결과와 데이터를 [여기]에 제공합니다. 각 기본 모델을 각 템플릿에 대해 약 50개의 아이디어로 실행했습니다. 시스템의 강점과 약점을 파악하기 위해 Claude 모델로 생성된 논문들을 읽어보는 것을 적극 추천합니다. 다음은 The AI Scientist가 생성한 논문의 예시입니다 📝:

주의사항: 이 코드베이스는 LLM이 작성한 코드를 실행합니다. 이는 잠재적으로 위험한 패키지 사용, 웹 접근, 프로세스 생성 가능성 등 다양한 위험과 도전 과제를 수반합니다. 사용 시 주의가 필요하며, 컨테이너 환경에서 실행하고 웹 접근을 제한하는 것을 강력히 권장합니다.


목차

  1. 소개 (Introduction)

  2. 요구사항 (Requirements)

  3. 설치 방법 (Installation)

  4. 지원되는 모델 및 API 키 (Supported Models and API Keys)

  5. 템플릿 설정 (Setting Up the Templates)

  6. NanoGPT 템플릿

  7. 2D 확산(Diffusion) 템플릿

  8. Grokking 템플릿

  9. AI Scientist 논문 생성 실험 실행 (Run AI Scientist Paper Generation Experiments)

  10. LLM이 생성한 논문에 대한 리뷰 받기 (Getting an LLM-Generated Paper Review)

  11. 나만의 템플릿 만들기 (Making Your Own Template)

  12. 커뮤니티 제공 템플릿 (Community-Contributed Templates)

  13. 템플릿 리소스 (Template Resources)

  14. The AI Scientist 인용 방법 (Citing The AI Scientist)

  15. 자주 묻는 질문 (Frequently Asked Questions)

  16. 컨테이너화(Containerization)


소개 (Introduction)

우리는 논문에서 사용한 세 가지 템플릿을 제공합니다. 이 템플릿은 다음 세 가지 영역을 다룹니다:

  • NanoGPT

  • 2D Diffusion

  • Grokking

이 템플릿들을 통해 The AI Scientist는 해당 분야에서 아이디어를 생성하고 실험을 수행할 수 있습니다. 또한, 우리는 커뮤니티로부터 새로운 템플릿의 기여를 받지만, 공식적으로 유지·관리하지는 않습니다. 우리가 제공한 세 가지 템플릿 외의 모든 템플릿은 커뮤니티 기여입니다.


요구사항 (Requirements)

이 코드는 Linux 운영체제에서 CUDA 및 PyTorch를 사용하는 NVIDIA GPU 환경에서 실행되도록 설계되었습니다. 다른 GPU 아키텍처도 PyTorch 가이드를 따르면 지원이 가능할 수 있습니다. 현재 템플릿은 CPU만으로 실행하기엔 현실적으로 매우 오랜 시간이 소요됩니다. 다른 운영체제(예: Windows, macOS)에서 실행하려면 상당한 수준의 조정이 필요합니다.


설치 방법 (Installation)

conda create -n ai_scientist python=3.11
conda activate ai_scientist
​
# pdflatex 설치
sudo apt-get install texlive-full
​
# PyPI 요구 패키지 설치
pip install -r requirements.txt

⚠️ 참고: texlive-full 설치는 시간이 오래 걸릴 수 있으며, 설치 중에 Enter 키를 여러 번 눌러야 할 수 있습니다.


지원되는 모델 및 API 키 (Supported Models and API Keys)

우리는 오픈소스 모델과 API 기반 모델을 모두 지원합니다. 일반적으로는 GPT-4 이상 수준의 최첨단 모델 사용을 권장합니다. 전체 지원 모델 목록은 공식 문서를 참고하세요.

✅ OpenAI API (GPT-4o, GPT-4o-mini, o1 등)

  • OPENAI_API_KEY 환경변수를 사용

✅ Anthropic API (Claude Sonnet 3.5 등)

  • ANTHROPIC_API_KEY 환경변수를 사용

✅ Amazon Bedrock을 통한 Claude 모델 사용 시

pip install anthropic[bedrock]

환경 변수 설정:

export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_REGION_NAME=...

✅ Vertex AI를 통한 Claude 모델 사용 시

pip install google-cloud-aiplatform
pip install anthropic[vertex]

환경 변수 설정:

export CLOUD_ML_REGION="지역"
export ANTHROPIC_VERTEX_PROJECT_ID="프로젝트 ID"
export VERTEXAI_LOCATION="지역"
export VERTEXAI_PROJECT="프로젝트 ID"

✅ DeepSeek API (deepseek-chat, deepseek-reasoner)

  • DEEPSEEK_API_KEY 환경변수를 사용

✅ OpenRouter API (Llama3.1)

  • OPENROUTER_API_KEY 환경변수를 사용

✅ Google Gemini

Google Gemini 모델(예: gemini-1.5-flash, gemini-1.5-pro)은 google-generativeai 라이브러리를 통해 지원됨

export GEMINI_API_KEY="여러분의 Gemini API 키"

문헌 검색용 API (Literature Search APIs)

✅ Semantic Scholar API (선택 사항)

  • S2_API_KEY를 설정하면 높은 처리량 제공

  • 키 없이도 동작은 가능하나, 문헌 검색 및 인용 생성 단계를 건너뛸 수 있음

export S2_API_KEY="여러분의 키"

✅ OpenAlex API (Semantic Scholar 대체용)

API 키 없이도 사용 가능

pip install pyalex
export OPENALEX_MAIL_ADDRESS="여러분의 이메일 주소"

실행 시 다음 옵션 포함:

--engine openalex

⚠️ 참고: Semantic Scholar API 키가 없는 사용자를 위한 실험적 기능입니다.


📁 템플릿 설정 (Setting Up the Templates)

이 섹션은 논문에서 사용된 세 가지 템플릿(NanoGPT, 2D Diffusion, Grokking)을 설정하는 방법을 설명합니다. The AI Scientist 실험을 실행하기 전에 관심 있는 템플릿에 대해 설정을 완료해 주세요.


🧠 NanoGPT 템플릿

설명: Transformer 기반의 자기회귀 다음 토큰 예측 작업을 연구합니다.

설정 단계:

  1. 데이터 준비:

python data/enwik8/prepare.py
python data/shakespeare_char/prepare.py
python data/text8/prepare.py
  1. 기본 실험 실행 (기기 사양에 따라 다름):

cd templates/nanoGPT
python experiment.py --out_dir run_0
python plot.py

⚠️ 위의 prepare.py 스크립트를 먼저 실행해야 합니다!


🌌 2D Diffusion 템플릿

설명: 저차원 데이터셋에서 확산 생성 모델의 성능 향상을 연구합니다.

설정 단계:

  1. 의존성 설치:

git clone https://github.com/gregversteeg/NPEET.git
cd NPEET
pip install .
pip install scikit-learn
  1. 기본 실험 실행:

cd templates/2d_diffusion
python experiment.py --out_dir run_0
python plot.py

🔍 Grokking 템플릿

설명: 딥러닝 모델에서 일반화와 학습 속도에 관한 질문을 연구합니다.

설정 단계:

  1. 의존성 설치:

pip install einops
  1. 기본 실험 실행:

cd templates/grokking
python experiment.py --out_dir run_0
python plot.py

🚀 The AI Scientist 논문 생성 실험 실행

주의: 위 템플릿 설정 단계를 먼저 완료해야 합니다.

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-20241022" --experiment nanoGPT_lite --num-ideas 2
  • GPU가 2개 이상일 경우 --parallel 옵션으로 병렬 처리 가능


📝 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"]   # 'Accept' 또는 'Reject'
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

🧰 나만의 템플릿 만들기

The AI Scientist가 새로운 연구 분야를 탐색하도록 하고 싶다면, 나만의 템플릿을 쉽게 만들 수 있습니다.

  • 구성 요소:

    • experiment.py: 핵심 로직, --out_dir 인자를 받아 실행 결과를 저장

    • plot.py: 결과 데이터를 시각화

    • prompt.json: 템플릿 설명 정보

    • seed_ideas.json: 예시 아이디어

    • latex/template.tex: 논문 작성용 LaTeX 템플릿 (인용 스타일 수정 필요)

핵심은 기존 파일명 구조 및 출력 JSON 형식을 유지하는 것입니다. 나머지는 자유롭게 수정 가능합니다.


🤝 커뮤니티 제공 템플릿

다음은 커뮤니티에서 기여한 템플릿 목록입니다:

  • 감염병 모델링 (SEIR) – PR #137

  • MobileNetV3 기반 이미지 분류 – PR #141

  • Sketch RNN – PR #143

  • 양자화학에서의 AI (MACE) – PR #157

  • 지진 예측 – PR #167

  • Tensorial Radiance Fields – PR #175

PR을 통해 템플릿을 추가하고, 설명 및 생성된 논문 예시를 포함해 주세요.


📦 템플릿 출처 (Template Resources)

  • NanoGPT 템플릿: NanoGPT 및 해당 PR 코드 사용

  • 2D Diffusion 템플릿: tiny-diffusion, ema-pytorch, Datasaur 코드 사용

  • Grokking 템플릿: Sea-Snell/grokking 및 danielmamay/grokking 코드 사용

오픈소스 개발자들의 기여에 감사를 전합니다.


📚 The AI Scientist 인용 방법

@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}
}

❓ 자주 묻는 질문 (FAQ)

  • 파일이 없다고 나와요 → 설정 및 준비 단계를 모두 완료했는지 확인하세요.

  • PDF 또는 리뷰가 생성되지 않았어요 → Claude Sonnet 3.5의 성공률이 가장 높습니다. GPT-4o는 리뷰에 적합합니다.

  • 아이디어 1개당 비용은 얼마인가요? → Claude Sonnet 3.5 기준 약 $15 미만. DeepSeek Coder V2가 저렴합니다.

  • 학회 템플릿 변경은 어떻게 하나요?template.tex 파일을 수정하세요.

  • 다른 주제를 다루고 싶은데 가능한가요? → 현재는 코드로 표현 가능한 주제에 한정. 미래에 확장 가능성 있음.

  • 새로운 모델을 추가하려면?ai_scientist/llm.py를 수정하면 됩니다. GPT-4보다 약한 모델은 비추천.

  • 기본 실험을 직접 돌려야 하나요?run_0으로 생성되며, 기기별 런타임 비교를 위해 필요합니다.

  • Semantic Scholar API를 사용할 수 없을 때는? → 인용 및 참신성 검사를 건너뛰거나, OpenAlex를 사용하세요.


🐳 컨테이너화 (Containerization)

커뮤니티 기여로 제공된 Docker 이미지가 있습니다.

  • 기본 실행 예시:

docker run -e OPENAI_API_KEY=$OPENAI_API_KEY -v `pwd`/templates:/app/AI-Scientist/templates <AI_SCIENTIST_IMAGE> \
  --model gpt-4o-2024-05-13 \
  --experiment 2d_diffusion \
  --num-ideas 2
  • 인터랙티브 모드:

docker run -it -e OPENAI_API_KEY=$OPENAI_API_KEY \
  --entrypoint /bin/bash \
  <AI_SCIENTIST_IMAGE>

Docker 주소 : https://github.com/SakanaAI/AI-Scientist/pull/21

[endpoint script] docker run -e OPENAI_API_KEY=$OPENAI_API_KEY t4646/ai-scientist:20240817 \ --model “gpt-4o-2024-05-13” \ --experiment 2d_diffusion \ --num-ideas 1

[interactive] docker run -it -e OPENAI_API_KEY=$OPENAI_API_KEY \ --entrypoint /bin/bash \ t4646/ai-scientist:20240817


"생성형 AI를 활용한 논문 작성 자동화의 가능성과 한계" 논문 자동 생성하기

The AI Scientist를 이용해 생성형 AI를 활용한 논문 작성 자동화의 가능성과 한계라는 맞춤형 주제에 맞는 논문을 작성하려면, 기존 제공 템플릿(NanoGPT, 2D Diffusion, Grokking)을 그대로 사용하는 것이 아니라, 직접 새로운 템플릿을 만들어 구성해야 합니다.


📁 템플릿 설정: 커스텀 템플릿 만들기

🔧 전체 템플릿 구조

templates/
└── ai_paper_autowrite/   ← 새로 만드는 템플릿 디렉토리
    ├── experiment.py
    ├── plot.py
    ├── prompt.json
    ├── seed_ideas.json
    └── latex/
        └── template.tex

✅ 1. experiment.py 수정

역할:

  • 핵심 실험 로직

  • 실제로 AI가 "실험"을 수행하는 부분 (우리에겐 자동화 논문 작성을 시뮬레이션하는 코드)

수정 방법 (예시 구조):

import json
import os
​
def run_experiment(out_dir):
    os.makedirs(out_dir, exist_ok=True)
    result = {
        "title": "Exploring the Possibilities and Limitations of Automating Academic Writing Using Generative AI",
        "abstract": "This paper investigates the feasibility of using generative AI tools...",
        "keywords": ["Generative AI", "Scientific Writing", "Automation", "GPT", "LLM"]
    }
​
    with open(os.path.join(out_dir, "results.json"), "w") as f:
        json.dump(result, f)
​
if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("--out_dir", type=str, required=True)
    args = parser.parse_args()
    run_experiment(args.out_dir)

✅ 위는 자동으로 results.json을 생성하여 후속 논문 작성에 연결되도록 합니다.


✅ 2. plot.py 수정

역할:

  • 실험 결과를 시각화

  • 우리 주제에선 별도 그래프가 없어도 됨 (샘플 코드 사용 가능)

샘플 코드:

import matplotlib.pyplot as plt
​
plt.figure()
plt.text(0.5, 0.5, 'No plot required for this conceptual paper.', ha='center')
plt.savefig('plot.png')

✅ 3. prompt.json 작성

역할:

  • LLM에게 전달할 시스템 메시지 (논문 주제, 목표, 작성 규칙 등)

예시:

{
  "system": "You are a helpful scientific researcher writing an academic paper.",
  "task": "Write a paper on the topic: 'Exploring the Possibilities and Limitations of Automating Academic Writing Using Generative AI'. Focus on practical tools like ChatGPT, Claude, Scite, Elicit, etc.",
  "sections": ["Introduction", "Related Work", "Methodology", "Results", "Discussion", "Conclusion"]
}

✅ 4. seed_ideas.json 작성

역할:

  • AI가 논문 주제를 생성할 때 참고할 예시 아이디어

예시:

[
  {
    "title": "AI Co-authors? Automating Academic Paper Writing with LLMs",
    "description": "An exploration of using ChatGPT and other LLMs to generate entire sections of academic writing, including ethical concerns and writing quality."
  },
  {
    "title": "From Prompt to Paper: Streamlining Research Drafts with Generative AI",
    "description": "A practical study on integrating multiple AI tools into the academic writing workflow."
  }
]

✅ 5. latex/template.tex 수정

역할:

  • 논문 PDF 포맷 설정 (논문 제목, 저자, 인용, 본문 구조 등)

수정 포인트:

  • \title{}: 논문 제목

  • \author{}: 가상의 저자 이름

  • \begin{abstract}~\end{abstract}: 요약 텍스트 연결

  • 본문에는 results.json에서 가져온 텍스트를 삽입하는 placeholder 사용

예시 수정 내용:

\title{Exploring the Possibilities and Limitations of Automating Academic Writing Using Generative AI}
\author{The AI Scientist}
\begin{abstract}
This paper investigates...
\end{abstract}
​
\section{Introduction}
\input{introduction.tex}
...

템플릿을 수정하면 자동으로 해당 내용을 기반으로 논문 PDF가 생성됩니다.


🏁 마지막으로: 실행 명령어

템플릿을 ai_paper_autowrite라는 이름으로 만들었다면, 다음과 같이 실행합니다:

python launch_scientist.py --model "gpt-4o-2024-05-13" --experiment ai_paper_autowrite --num-ideas 1

✨ 보너스 팁

  • 논문 생성 완료 후, results.json → LaTeX → PDF 파일(report.pdf)로 출력됩니다.

  • 생성된 논문에 대해 GPT-4o로 리뷰하는 것도 가능 (perform_review.py 활용)


✅ 요약: 어떤 파일을 수정해야 하는가?

파일명

해야 할 일

experiment.py

주제와 관련된 결과(results.json) 생성

plot.py

시각화가 필요 없다면 단순 메시지로 처리

prompt.json

논문 주제, 목표, 섹션 정의

seed_ideas.json

아이디어 1~2개 예시 입력

template.tex

제목, 초록, 본문 구조 반영 (LaTeX 수정)


📁 논문 리뷰하기

perform_review.py`는 생성된 논문 PDF를 기반으로 LLM이 자동으로 논문 리뷰(심사평)를 작성해주는 모듈입니다. The AI Scientist에서는 이 기능을 통해 논문 초안을 스스로 검토 및 피드백까지 하도록 설계되어 있습니다.


✅ 1. perform_review.py의 기본 개념

이 모듈은 다음과 같은 작업을 수행합니다:

  1. PDF 파일을 불러와 텍스트로 변환

  2. 해당 텍스트를 LLM에게 전달

  3. 리뷰 포맷(점수, 판단, 약점 등)에 맞게 자동 생성


✅ 2. 준비 사항

필요한 패키지 설치

pip install openai pypdf

필요한 파일

  • report.pdf: AI가 생성한 논문 PDF

  • perform_review.py: 리뷰 수행용 스크립트

  • LLM API Key: 예) OPENAI_API_KEY


✅ 3. 코드 예시 (Python)

import openai
from ai_scientist.perform_review import load_paper, perform_review
​
# 클라이언트 설정
client = openai.OpenAI(api_key="YOUR_OPENAI_API_KEY")  # 또는 os.environ 사용
​
# 사용할 모델
model = "gpt-4o-2024-05-13"  # 또는 "gpt-4"
​
# PDF → 텍스트 로드
paper_txt = load_paper("report.pdf")
​
# 리뷰 실행
review = perform_review(
    paper_txt,
    model=model,
    client=client,
    num_reflections=5,         # 반성적 피드백 횟수
    num_fs_examples=1,         # few-shot 예제 개수
    num_reviews_ensemble=5,    # 앙상블 리뷰 횟수
    temperature=0.1            # 생성 다양성 제어
)
​
# 결과 출력
print("▶️ Overall Score:", review["Overall"])      # 1~10점
print("✅ Decision:", review["Decision"])          # Accept or Reject
print("⚠️ Weaknesses:", review["Weaknesses"])      # 약점 목록
print("💡 Suggestions:", review.get("Suggestions", "N/A"))

✅ 4. 결과 예시 (출력 형태)

▶️ Overall Score: 7
✅ Decision: Accept with Minor Revisions
⚠️ Weaknesses:
 - Lack of comparison with traditional writing tools
 - Limited empirical evidence for claims
💡 Suggestions:
 - Include user study or metrics to validate AI performance
 - Discuss ethical risks more thoroughly

✅ 5. 커맨드라인 실행도 가능

The AI Scientist 디렉토리 내에 아래처럼 배치 분석 CLI도 제공됩니다:

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

✅ 6. perform_review.py 내부 동작 구조 (요약)

단계

설명

load_paper()

PDF 파일의 텍스트 추출

perform_review()

GPT 등 LLM으로 평가 수행

반환 결과

JSON 형식의 리뷰 결과 (점수, 결정, 약점 등)


✨ 추가 팁

  • 리뷰 품질 향상을 위해 Claude 3.5, GPT-4o 같은 최상위 모델 사용 추천

  • 논문 스타일에 맞는 프롬프트 커스터마이징 가능 (예: IEEE vs APA 스타일 평가 방식)

  • 리뷰 결과 저장은 아래처럼 추가:

with open("review.json", "w") as f:
    json.dump(review, f, indent=2)

❓ 요약

작업

도구/파일

논문 리뷰 실행

perform_review.py

입력 파일

report.pdf (논문 PDF)

주요 함수

load_paper(), perform_review()

출력 형식

review["Overall"], review["Decision"], review["Weaknesses"]


📁 Docker 환경에서 논문 자동 생성하기

“생성형 AI를 활용한 논문 작성 자동화의 가능성과 한계”라는 당신만의 주제로 논문을 작성하려면, 새로운 템플릿을 만들어서 Docker 컨테이너 안에 반영해야 합니다.


✅ 목표

Docker로 다음 논문을 자동 생성하고 싶다:

“생성형 AI를 활용한 논문 작성 자동화의 가능성과 한계”


✅ 핵심 개념 요약

항목

설명

--experiment 2d_diffusion

기본 제공 실험 템플릿 이름 (우리 주제와 관련 없음)

--experiment autowrite_ai_paper

우리가 직접 만든 주제 전용 템플릿 이름 (예시)

t4646/ai-scientist:20240817

AI Scientist가 Docker 이미지로 패키징된 버전


✅ 단계별 실행법

🔧 1. 템플릿 폴더 생성 (로컬 환경에서)

로컬에서 다음 경로를 구성하세요:

your_project/
└── templates/
    └── autowrite_ai_paper/
        ├── experiment.py
        ├── plot.py
        ├── prompt.json
        ├── seed_ideas.json
        └── latex/
            └── template.tex

각 파일 내용은 앞서 설명드린 것처럼:

  • experiment.py: 논문 제목, 키워드, 초록 등 생성

  • prompt.json: 논문 주제 및 요구사항 포함

  • seed_ideas.json: 주제 예시 입력

  • template.tex: 논문 LaTeX 양식

✨ 위 내용 필요하시면 전체 샘플 제공해드릴 수 있어요.


🐳 2. Docker에 템플릿 마운트하기

AI Scientist 컨테이너는 기본적으로 /app/AI-Scientist/templates/에 템플릿을 찾습니다. 로컬의 템플릿 폴더를 컨테이너 안으로 연결합니다:

docker run -e OPENAI_API_KEY=$OPENAI_API_KEY \
  -v $(pwd)/templates:/app/AI-Scientist/templates \
  t4646/ai-scientist:20240817 \
  --model "gpt-4o-2024-05-13" \
  --experiment autowrite_ai_paper \
  --num-ideas 1

📌 여기서:

  • -v $(pwd)/templates:/app/AI-Scientist/templates: 로컬의 templates/를 컨테이너 내부로 복사

  • --experiment autowrite_ai_paper: 우리가 만든 커스텀 템플릿 이름


📝 3. 결과 확인

실행이 완료되면 컨테이너 내부에 다음과 같은 결과가 생성됩니다:

/app/AI-Scientist/templates/autowrite_ai_paper/run_0/
    ├── results.json
    ├── plot.png
    ├── paper.tex
    └── report.pdf   ← 최종 논문 결과물!

docker cp 명령어를 통해 report.pdf를 호스트 머신으로 복사할 수도 있습니다.


✅ 요약

단계

작업

1

로컬에서 새로운 템플릿 디렉토리 생성

2

prompt, seed_ideas, experiment.py 등 수정

3

docker run 시 -v 옵션으로 템플릿 마운트

4

--experiment에 내 템플릿 이름 넣기

5

컨테이너 내부에서 report.pdf 생성됨


결과와 배운점

Full automation의 가능성과 한계: AI Scientist는 아이디어 생성부터 논문 작성까지 전 과정을 자동화할 수 있지만, 현재는 코드로 표현 가능한 특정 연구 주제에 한정되어 있습니다. 복잡한 실험 설계나 다양한 데이터 분석이 필요한 연구에는 여전히 인간의 개입이 필요합니다.

다양한 템플릿과 확장성: AI Scientist는 NanoGPT, 2D Diffusion, Grokking 등 다양한 연구 분야에 대한 템플릿을 제공하며, 사용자가 직접 새로운 템플릿을 만들어 확장할 수 있습니다. 이는 다양한 연구 분야에서의 적용 가능성을 보여줍니다.

모델 선택의 중요성: 시스템의 성능은 사용하는 LLM에 크게 의존합니다. Claude Sonnet 3.5와 같은 최신 모델이 가장 높은 성공률을 보였으며, GPT-4o는 리뷰 생성에 특히 효과적입니다.

컨테이너화의 유용성: Docker를 통한 컨테이너화는 복잡한 설치 과정 없이 AI Scientist를 쉽게 실행할 수 있게 해주어, 연구자들의 진입 장벽을 낮춥니다.

자동화된 리뷰의 효율성: AI Scientist는 생성된 논문에 대한 자동 리뷰 기능을 제공하여 피드백 루프를 형성합니다. 이는 인간 연구자가 논문의 품질을 지속적으로 개선하는 프로세스를 모방합니다.

마지막으로 템플릿 자동화를 통하여 AI Scientist를 연계할 수 있다면 하룻밤 사이에 수십 혹은 수백 개의 연구 논문이 자동으로 생성되는 놀라운 결과를 얻을 수 있을것이라고 생각하면서 이 게시글을 마침니다.

도움 받은 글 (옵션)

Ai Scientist : https://sakana.ai/ai-scientist/

AI Scientist GitHub : https://github.com/SakanaAI/AI-Scientist

AI Scientist Docker : https://github.com/SakanaAI/AI-Scientist/pull/21

3
2개의 답글

👉 이 게시글도 읽어보세요