
AIãµã€ãšã³ãã£ã¹ã: å®å
šèªååããã
ãªãŒãã³ãšã³ãã®ç§åŠççºèŠ ð§âð¬
ð [è«æ] | ð [ããã°èšäº] | ð [ãã©ã€ããã©ã«ã]
人工ç¥èœã®å€§ããªèª²é¡ã®äžã€ã¯ãç§åŠç 究ãè¡ããæ°ããç¥èãçºèŠããèœåãæã€ãšãŒãžã§ã³ããéçºããããšã§ããæå 端ã®ã¢ãã«ã¯ãã§ã«äººéã®ç§åŠè ãæ¯æŽããããã«äœ¿çšãããŠããŸããïŒäŸãã°ãã¢ã€ãã¢ã®ãã¬ã€ã³ã¹ããŒãã³ã°ãã³ãŒãã®äœæãªã©ïŒãäŸç¶ãšããŠåºç¯ãªæåç£ç£ãå¿ èŠã§ãã£ãããç¹å®ã®ã¿ã¹ã¯ã«å³ããå¶çŽãããŠããŸãã
ç§ãã¡ã¯ãAIãµã€ãšã³ãã£ã¹ãã玹ä»ã§ããããšãå¬ããæããŸããããã¯ãåºç€ã¢ãã«ïŒäŸãã°ã倧èŠæš¡èšèªã¢ãã«ïŒLLMïŒïŒãç¬ç«ããŠç 究ãè¡ãããšãå¯èœã«ãããå®å šèªååãããç§åŠççºèŠã®ããã®æåã®å æ¬çãªã·ã¹ãã ã§ãã
ç§ãã¡ã®è«æããã®ãã¹ãŠã®å®è¡ãšããŒã¿ããã¡ãã§æäŸããŠããŸããåããŒã¹ã¢ãã«ãåãã³ãã¬ãŒãã§çŽ50ã®ã¢ã€ãã¢ã«å¯ŸããŠå®è¡ããŠããŸããã·ã¹ãã ã®åŒ·ã¿ãšåŒ±ã¿ãç解ããããã«ãããã€ãã®Claudeè«æãèªãããšã匷ããå§ãããŸãã以äžã¯AIãµã€ãšã³ãã£ã¹ãã«ãã£ãŠçæãããäŸã®è«æã§ã ð:
- DualScale Diffusion: Adaptive Feature Balancing for Low-Dimensional Generative Models
- Multi-scale Grid Noise Adaptation: Enhancing Diffusion Models For Low-dimensional Data
- GAN-Enhanced Diffusion: Boosting Sample Quality and Diversity
- DualDiff: Enhancing Mode Capture in Low-dimensional Diffusion Models via Dual-expert Denoising
- StyleFusion: Adaptive Multi-style Generation in Character-Level Language Models
- Adaptive Learning Rates for Transformers via Q-Learning
- Unlocking Grokking: A Comparative Study of Weight Initialization Strategies in Transformer Models
- Grokking Accelerated: Layer-wise Learning Rates for Transformer Generalization
- Grokking Through Compression: Unveiling Sudden Generalization via Minimal Description Length
- Accelerating Mathematical Insight: Boosting Grokking Through Strategic Data Augmentation
泚æ:
èŠå! ãã®ã³ãŒãããŒã¹ã¯LLMã«ãã£ãŠæžãããã³ãŒããå®è¡ããŸãããã®èªåŸæ§ã«ã¯ãæœåšçã«å±éºãªããã±ãŒãžã®äœ¿çšããŠã§ãã¢ã¯ã»ã¹ãããã³ããã»ã¹ã®çæã®å¯èœæ§ãªã©ãããŸããŸãªãªã¹ã¯ãšèª²é¡ã䌎ããŸããèªå·±è²¬ä»»ã§äœ¿çšããŠãã ãããé©åã«ã³ã³ããåãããŠã§ãã¢ã¯ã»ã¹ãå¶éããããšããå§ãããŸãã
- ã€ã³ãããã¯ã·ã§ã³
- èŠä»¶
- ãã³ãã¬ãŒãã®èšå®
- AIãµã€ãšã³ãã£ã¹ãè«æçæå®éšã®å®è¡
- LLMçæè«æã®ã¬ãã¥ãŒååŸ
- ç¬èªãã³ãã¬ãŒãã®äœæ
- ãã³ãã¬ãŒããªãœãŒã¹
- AIãµã€ãšã³ãã£ã¹ãã®åŒçš
- ãããã質å
- ã³ã³ããå
ç§ãã¡ã¯ãè«æã§äœ¿çšãã3ã€ã®ãã³ãã¬ãŒããæäŸããŠããŸãããããã¯ãNanoGPTã2D Diffusionãããã³Grokkingã®ãã¡ã€ã³ãã«ããŒããŠããŸãããããã®ãã³ãã¬ãŒãã¯ãAIãµã€ãšã³ãã£ã¹ãããããã®åéã§ã¢ã€ãã¢ãçæããå®éšãè¡ãããšãå¯èœã«ããŸããã³ãã¥ããã£ããã®æ°ãããã³ãã¬ãŒãã®è²¢ç®ãåãä»ããŠããŸããããããã¯ç§ãã¡ã«ãã£ãŠç¶æãããŠããŸãããæäŸããã3ã€ã®ãã³ãã¬ãŒã以å€ã®ãã¹ãŠã®ãã³ãã¬ãŒãã¯ã³ãã¥ããã£ã®è²¢ç®ã§ãã
ãã®ã³ãŒãã¯ãCUDAããã³PyTorchã䜿çšããŠNVIDIA GPUäžã§Linuxã§å®è¡ããããã«èšèšãããŠããŸããä»ã®GPUã¢ãŒããã¯ãã£ã®ãµããŒãã¯ãPyTorchã¬ã€ãã©ã€ã³ã«åŸãããšã§å¯èœãããããŸãããçŸåšã®ãã³ãã¬ãŒãã¯ãCPUã®ã¿ã®ãã·ã³ã§ã¯å®è¡ã«éåžžã«é·ãæéããããå¯èœæ§ããããŸããä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã®å®è¡ã«ã¯ãããªãã®èª¿æŽãå¿ èŠã§ãã
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å°çšã¢ãã«ãå«ãããŸããŸãªã¢ãã«ããµããŒãããŠããŸããäžè¬çã«ãå ã®GPT-4ã®èœåãè¶ ããããã³ãã£ã¢ã¢ãã«ã®ã¿ã䜿çšããããšããå§ãããŸãããµããŒããããŠããã¢ãã«ã®å®å šãªãªã¹ãã«ã€ããŠã¯ããã¡ããåç §ããŠãã ããã
ããã©ã«ãã§ã¯ãOPENAI_API_KEY
ç°å¢å€æ°ã䜿çšããŸãã
ããã©ã«ãã§ã¯ãANTHROPIC_API_KEY
ç°å¢å€æ°ã䜿çšããŸãã
Amazon BedrockãæäŸããClaudeã¢ãã«ã«ã€ããŠã¯ã以äžã®è¿œå ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãã ããïŒ
pip install anthropic[bedrock]
次ã«ãæå¹ãªAWSã¯ã¬ãã³ã·ã£ã«ãšã¿ãŒã²ããAWSãªãŒãžã§ã³ãæå®ããŸãïŒ
ç°å¢å€æ°ãèšå®ããŸãïŒAWS_ACCESS_KEY_ID
ãAWS_SECRET_ACCESS_KEY
ãAWS_REGION_NAME
ã
Vertex AI Model GardenãæäŸããClaudeã¢ãã«ã«ã€ããŠã¯ã以äžã®è¿œå ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãã ããïŒ
pip install google-cloud-aiplatform
pip install anthropic[vertex]
次ã«ãæå¹ãªGoogle Cloudãããžã§ã¯ãã®èªèšŒãèšå®ããŸããäŸãã°ããªãŒãžã§ã³ãšãããžã§ã¯ãIDãæå®ããŸãïŒ
export CLOUD_ML_REGION="REGION" # Model GardenåŒã³åºãçš
export ANTHROPIC_VERTEX_PROJECT_ID="PROJECT_ID" # Model GardenåŒã³åºãçš
export VERTEXAI_LOCATION="REGION" # Aider/LiteLLMåŒã³åºãçš
export VERTEXAI_PROJECT="PROJECT_ID" # Aider/LiteLLMåŒã³åºãçš
ããã©ã«ãã§ã¯ãDEEPSEEK_API_KEY
ç°å¢å€æ°ã䜿çšããŸãã
ããã©ã«ãã§ã¯ãOPENROUTER_API_KEY
ç°å¢å€æ°ã䜿çšããŸãã
ç§ãã¡ã®ã³ãŒãã¯ããªãã·ã§ã³ã§Semantic Scholar APIããŒïŒS2_API_KEY
ïŒã䜿çšããŠã¹ã«ãŒããããåäžãããããšãã§ããŸãïŒãã¡ãããååŸã§ããŸãïŒããã ããååãšããŠããŒããªããŠãåäœããã¯ãã§ããSemantic Scholarã«åé¡ãããå Žåã¯ãæç®æ€çŽ¢ãšåŒçšãã§ãŒãºãã¹ãããããããšãã§ããŸãã
å®è¡ã«äœ¿çšããã¢ãã«ã®ããŒãå¿ ãæäŸããŠãã ãããäŸãã°ïŒ
export OPENAI_API_KEY="YOUR KEY HERE"
export S2_API_KEY="YOUR KEY HERE"
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãè«æã§äœ¿çšãã3ã€ã®ãã³ãã¬ãŒãã®èšå®æé ãæäŸããŸããAIãµã€ãšã³ãã£ã¹ãã®å®éšãå®è¡ããåã«ãèå³ã®ãããã³ãã¬ãŒãã®èšå®æé ãå®äºããŠãã ããã
説æ: ãã®ãã³ãã¬ãŒãã¯ããã©ã³ã¹ãã©ãŒããŒããŒã¹ã®èªå·±å垰次ããŒã¯ã³äºæž¬ã¿ã¹ã¯ã調æ»ããŸãã
èšå®æé :
-
ããŒã¿ã®æºå:
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
説æ: ãã®ãã³ãã¬ãŒãã¯ãäœæ¬¡å ããŒã¿ã»ããã«å¯Ÿããæ¡æ£çæã¢ãã«ã®æ§èœåäžãç 究ããŸãã
èšå®æé :
-
äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«:
# 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
説æ: ãã®ãã³ãã¬ãŒãã¯ããã£ãŒããã¥ãŒã©ã«ãããã¯ãŒã¯ã«ãããäžè¬åãšåŠç¿é床ã«é¢ãã質åã調æ»ããŸãã
èšå®æé :
-
äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«:
# Grokkingã®èšå® pip install einops
-
ããŒã¹ã©ã€ã³ã©ã³ã®äœæ:
# GrokkingããŒã¹ã©ã€ã³ã©ã³ã®èšå® cd templates/grokking python experiment.py --out_dir run_0 python plot.py
泚æ: ãããã®å®éšãå®è¡ããåã«ãäžèšã®ã»ããã¢ããæé ãå®äºããŠããããšã確èªããŠãã ããã
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ãæã£ãŠããå Žåã¯ã--parallel
ãªãã·ã§ã³ã䜿çšããŠã¢ã€ãã¢ãè€æ°ã®GPUã«äžŠååã§ããŸãã
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
â ãã®ã¹ã¯ãªããã¯run
ãã©ã«ãããæ å ±ãååŸãããããããäœæããŸããã³ãŒãã¯æ確ã§ç·šéããããã¯ãã§ããprompt.json
â ãã³ãã¬ãŒãã«é¢ããæ å ±ãããã«èšèŒããŸããseed_ideas.json
â ããã«äŸã®ã¢ã€ãã¢ãé 眮ããŸããäŸã䜿ããã«ã¢ã€ãã¢ãçæããæè¯ã®ãã®ãéžãã§ããã«é 眮ããããšãã§ããŸããlatex/template.tex
â LaTeXãã©ã«ãã䜿çšããããšããå§ãããŸãããäºåã«èªã¿èŸŒãŸããåŒçšãæåŸ ããããã®ã«çœ®ãæããŠãã ããã
æ°ãããã³ãã¬ãŒããæ©èœãããéµã¯ãåºæ¬ãã¡ã€ã«åãšåºåJSONãæ¢åã®åœ¢åŒã«äžèŽãããããšã§ãããã以å€ã¯èªç±ã«å€æŽã§ããŸãããŸããtemplate.tex
ãã¡ã€ã«ãæ£ããåŒçšã¹ã¿ã€ã«/åºæ¬ããããã䜿çšããããã«æŽæ°ãããŠããããšã確èªããŠãã ããã
ç§ãã¡ã¯ãæ°ãããã³ãã¬ãŒãã®åœ¢ã§ã®ã³ãã¥ããã£ã®è²¢ç®ãæè¿ããŸãããããã¯ç§ãã¡ã«ãã£ãŠç¶æãããŠããŸããããä»ã®äººã ã«ããªãã®ãã³ãã¬ãŒãã玹ä»ã§ããããšãå¬ããæããŸãã以äžã«ãã³ãã¥ããã£æäŸã®ãã³ãã¬ãŒããšãã®ãã«ãªã¯ãšã¹ãïŒPRïŒãžã®ãªã³ã¯ã瀺ããŸãïŒ
- ææçã¢ããªã³ã°ïŒ
seir
ïŒ - PR #137 - MobileNetV3ã䜿çšããç»ååé¡ïŒ
mobilenetV3
ïŒ - PR #141 - Sketch RNNïŒ
sketch_rnn
ïŒ - PR #143
ãã®ã»ã¯ã·ã§ã³ã¯ã³ãã¥ããã£ã®è²¢ç®ã«äºçŽãããŠããŸãããã³ãã¬ãŒãããªã¹ãã«è¿œå ããããã«ãã«ãªã¯ãšã¹ããæåºããŠãã ããïŒPRã®èª¬æã§ãã³ãã¬ãŒãã説æããçæãããè«æã®äŸã瀺ããŠãã ããã
ç§ãã¡ã¯ãä»ã®ãªããžããªããã®ã³ãŒããå€çšãã3ã€ã®ãã³ãã¬ãŒããæäŸããŠããŸãã以äžã«ã¯ã¬ãžããã瀺ããŸãïŒ
- 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}
}
The AI Scientistã«é¢ãã質åãããå Žåã¯ããŸãç§ãã¡ã®è«æãèªãããšããå§ãããŸãã
The AI Scientistãå®è¡ãããšãã«ãã¡ã€ã«ãèŠã€ãããªãã®ã¯ãªãã§ããïŒ
ã¡ã€ã³ã®å®éšã¹ã¯ãªããã®åã«ããã¹ãŠã®ã»ããã¢ãããšæºåæé ãå®äºããŠããããšã確èªããŠãã ããã
PDFãã¬ãã¥ãŒãçæãããªãã®ã¯ãªãã§ããïŒ
The AI Scientistã¯ããã³ãã¬ãŒããåºç€ã¢ãã«ãããã³ã¢ã€ãã¢ã®è€éãã«äŸåããŠãæåçãç°ãªããŸããç§ãã¡ã®ã¡ã€ã³è«æãåç §ããããšããå§ãããŸããæãé«ãæåçã¯Claude Sonnet 3.5ã§èŠ³å¯ãããŠããŸããã¬ãã¥ãŒã¯GPT-4oã§è¡ãã®ãæé©ã§ããä»ã®ã¢ãã«ã¯ãããžãã£ããã€ã¢ã¹ãå¿ èŠãªåºåã«åŸããªãåé¡ããããŸãã
åã¢ã€ãã¢ã®çæã³ã¹ãã¯ã©ããããã§ããïŒ
éåžžãClaude Sonnet 3.5ã§1è«æããã15ãã«æªæºã§ããããã³ã¹ãå¹æã®é«ãã¢ãããŒããšããŠãDeepSeek Coder V2ããå§ãããŸããæ°ããã¢ãã«ãæ¢ãè¯ãå Žæã¯AiderãªãŒããŒããŒãã§ãã
æžã蟌ã¿ã®ããŒã¹äŒè°ãã©ãŒããããå€æŽããã«ã¯ã©ãããã°ããã§ããïŒ
åãã³ãã¬ãŒãå
ã«å«ãŸããããŒã¹ã®template.tex
ãã¡ã€ã«ãå€æŽããŠãã ããã
ç°ãªãåéã®ã¢ã€ãã¢ã«å¯ŸããŠThe AI Scientistãå®è¡ããã«ã¯ã©ãããã°ããã§ããïŒ
ç°ãªããã³ãã¬ãŒãã®æ瀺ãåç §ããŠãã ããããã®çŸåšã®ããŒãžã§ã³ã§ã¯ãã³ãŒãã§è¡šçŸã§ããã¢ã€ãã¢ã«å¶éãããŠããŸãããããããã®å¶éã解é€ããããšã¯å°æ¥çã«èå³æ·±ã課é¡ã§ãïŒ :)
æ°ããåºç€ã¢ãã«ã®ãµããŒããè¿œå ããã«ã¯ã©ãããã°ããã§ããïŒ
ai_scientist/llm.py
ãå€æŽããŠãæ°ããåºç€ã¢ãã«ã®ãµããŒããè¿œå ã§ããŸããThe AI Scientistã«ã¯ãGPT-4ã¬ãã«ãããèãã匱ãã¢ãã«ã®äœ¿çšã¯ãå§ãããŸããã
ãªãããŒã¹ã©ã€ã³ã©ã³ãèªåã§å®è¡ããå¿ èŠãããã®ã§ããïŒ
ãããã¯run_0
ãšããŠè¡šç€ºãããããŒããŠã§ã¢ã®éãã«ããæ£ç¢ºãªå®è¡æéã®æ¯èŒã®ããã«ãThe AI Scientistãå®è¡ããåãã·ã³ã§å®è¡ããå¿
èŠããããŸãã
Semantic Scholar APIã«ã¢ã¯ã»ã¹ããéã«åé¡ãããå Žåã¯ã©ãããã°ããã§ããïŒ
ç§ãã¡ã¯ãã¢ã€ãã¢ã®æ°èŠæ§ã確èªããè«æã®åŒçšãåéããããã«Semantic Scholar APIã䜿çšããŠããŸããAPIããŒããªãå ŽåãAPIãžã®ã¢ã¯ã»ã¹ãé ãå Žåã¯ããããã®ãã§ãŒãºãã¹ãããã§ãããããããŸããã
experimental/Dockerfile
ã«ãã³ã³ããåã®åãçµã¿ã«åœ¹ç«ã€ã³ãã¥ããã£æäŸã®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>