[กระดาษ] | [โพสต์บล็อก] | [โฟลเดอร์ไดรฟ์]
หนึ่งในความท้าทายที่ยิ่งใหญ่ของปัญญาประดิษฐ์คือการพัฒนาตัวแทนที่สามารถทำการวิจัยทางวิทยาศาสตร์และค้นพบความรู้ใหม่ได้ แม้ว่าแบบจำลองแนวเขตแดนจะถูกนำมาใช้เพื่อช่วยเหลือนักวิทยาศาสตร์ที่เป็นมนุษย์แล้ว เช่น ในการระดมความคิดหรือการเขียนโค้ด แต่แบบจำลองเหล่านี้ยังคงต้องมีการควบคุมดูแลด้วยตนเองอย่างกว้างขวาง หรือมีข้อจำกัดอย่างมากต่องานเฉพาะ
เรารู้สึกตื่นเต้นที่จะเปิดตัว The AI Scientist ซึ่งเป็นระบบที่ครอบคลุมระบบแรกสำหรับการค้นพบทางวิทยาศาสตร์อัตโนมัติเต็มรูปแบบ ซึ่งช่วยให้แบบจำลองพื้นฐาน เช่น โมเดลภาษาขนาดใหญ่ (LLM) สามารถทำการวิจัยได้อย่างอิสระ
เราจัดเตรียมการดำเนินการและข้อมูลทั้งหมดจากรายงานของเราที่นี่ โดยเราใช้โมเดลพื้นฐานแต่ละโมเดลในแต่ละเทมเพลตสำหรับแนวคิดประมาณ 50 รายการ เรา ขอ แนะนำให้อ่านเอกสารของ Claude เพื่อทำความเข้าใจจุดแข็งและจุดอ่อนของระบบ นี่คือตัวอย่างเอกสารบางส่วนที่สร้างโดย The AI Scientist :
DualScale Diffusion: การปรับสมดุลคุณสมบัติแบบปรับได้สำหรับโมเดลการสร้างมิติต่ำ
การปรับสัญญาณรบกวนกริดหลายระดับ: การปรับปรุงแบบจำลองการแพร่กระจายสำหรับข้อมูลมิติต่ำ
การแพร่กระจายที่ปรับปรุงโดย GAN: การเพิ่มคุณภาพและความหลากหลายของตัวอย่าง
DualDiff: การปรับปรุงโหมดการถ่ายภาพในโมเดลการแพร่กระจายในมิติต่ำผ่านการลดสัญญาณรบกวนแบบผู้เชี่ยวชาญคู่
StyleFusion: การสร้างหลายสไตล์ที่ปรับเปลี่ยนได้ในโมเดลภาษาระดับตัวละคร
อัตราการเรียนรู้แบบปรับเปลี่ยนได้สำหรับ Transformers ผ่าน Q-Learning
การปลดล็อก Grokking: การศึกษาเปรียบเทียบกลยุทธ์การเริ่มต้นน้ำหนักในโมเดลหม้อแปลงไฟฟ้า
Grokking Accelerated: อัตราการเรียนรู้แบบเลเยอร์สำหรับการวางลักษณะทั่วไปของหม้อแปลง
Grokking ผ่านการบีบอัด: เผยโฉมลักษณะทั่วไปอย่างฉับพลันผ่านความยาวคำอธิบายขั้นต่ำ
การเร่งความเข้าใจทางคณิตศาสตร์: การส่งเสริม Grokking ด้วยการเพิ่มข้อมูลเชิงกลยุทธ์
บันทึก:
คำเตือน! codebase นี้จะดำเนินการโค้ดที่เขียนด้วย LLM มีความเสี่ยงและความท้าทายหลายประการที่เกี่ยวข้องกับความเป็นอิสระนี้ รวมถึงการใช้แพ็คเกจที่อาจเป็นอันตราย การเข้าถึงเว็บ และการวางไข่ของกระบวนการที่อาจเกิดขึ้น ใช้ตามดุลยพินิจของคุณเอง โปรดตรวจสอบให้แน่ใจว่าได้บรรจุและจำกัดการเข้าถึงเว็บอย่างเหมาะสม
การแนะนำ
ความต้องการ
การติดตั้ง
รุ่นที่รองรับและคีย์ API
การตั้งค่าเทมเพลต
เทมเพลต NanoGPT
เทมเพลตการแพร่กระจาย 2D
เทมเพลต Grokking
เรียกใช้การทดลองสร้างกระดาษของนักวิทยาศาสตร์ AI
รับการทบทวนกระดาษที่สร้างโดย LLM
สร้างเทมเพลตของคุณเอง
เทมเพลตที่สนับสนุนโดยชุมชน
ทรัพยากรเทมเพลต
อ้างอิงถึงนักวิทยาศาสตร์ AI
คำถามที่พบบ่อย
การบรรจุหีบห่อ
เรามีเทมเพลตสามแบบที่ใช้ในรายงานของเรา ซึ่งครอบคลุมโดเมนต่อไปนี้: NanoGPT , 2D Diffusion และ Grokking เทมเพลตเหล่านี้ช่วยให้นักวิทยาศาสตร์ AI สามารถสร้างแนวคิดและดำเนินการทดลองในด้านเหล่านี้ได้ เรายอมรับการมีส่วนร่วมของเทมเพลตใหม่จากชุมชน แต่โปรดทราบว่าเราไม่ได้ดูแลเทมเพลตเหล่านั้น เทมเพลตอื่นๆ ทั้งหมดนอกเหนือจากสามเทมเพลตที่ให้มานั้นเป็นการสนับสนุนของชุมชน
รหัสนี้ออกแบบมาเพื่อทำงานบน Linux ด้วย NVIDIA GPU โดยใช้ CUDA และ PyTorch การรองรับสถาปัตยกรรม GPU อื่นๆ อาจทำได้โดยปฏิบัติตามแนวทางของ PyTorch เทมเพลตปัจจุบันน่าจะใช้เวลานานพอสมควรบนเครื่องที่ใช้ CPU เท่านั้น การใช้งานบนระบบปฏิบัติการอื่นอาจต้องมีการปรับเปลี่ยนที่สำคัญ
conda create -n ai_scientist python=3.11 conda เปิดใช้งาน ai_scientist# ติดตั้ง pdflatexsudo apt-get ติดตั้ง texlive-full# ติดตั้งข้อกำหนด PyPI pip ติดตั้ง -r ข้อกำหนด.txt
หมายเหตุ: การติดตั้ง texlive-full
อาจใช้เวลานาน คุณอาจต้องกด Enter ระหว่างการติดตั้ง
เรารองรับโมเดลที่หลากหลาย รวมถึงโมเดล open-weight และ API เท่านั้น โดยทั่วไป เราขอแนะนำให้ใช้เฉพาะรุ่นชายแดนที่เหนือความสามารถของ GPT-4 ดั้งเดิมเท่านั้น หากต้องการดูรายการรุ่นที่รองรับทั้งหมด โปรดดูที่นี่
ตามค่าเริ่มต้น สิ่งนี้จะใช้ตัวแปรสภาพแวดล้อม OPENAI_API_KEY
ตามค่าเริ่มต้น สิ่งนี้จะใช้ตัวแปรสภาพแวดล้อม ANTHROPIC_API_KEY
สำหรับรุ่น Claude ที่ให้บริการโดย Amazon Bedrock โปรดติดตั้งแพ็คเกจเพิ่มเติมเหล่านี้:
pip ติดตั้งมานุษยวิทยา [ข้อเท็จจริง]
จากนั้น ระบุชุด AWS Credentials ที่ถูกต้องและภูมิภาค AWS เป้าหมาย:
ตั้งค่าตัวแปรสภาพแวดล้อม: AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, AWS_REGION_NAME
สำหรับโมเดล Claude ที่ให้บริการโดย Vertex AI Model Garden โปรดติดตั้งแพ็คเกจเพิ่มเติมเหล่านี้:
pip ติดตั้ง google-cloud-aiplatform pip ติดตั้งมานุษยวิทยา [จุดยอด]
จากนั้น ให้ตั้งค่าการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับโปรเจ็กต์ Google Cloud เช่น โดยการระบุภูมิภาคและรหัสโปรเจ็กต์:
ส่งออก CLOUD_ML_REGION="REGION" # สำหรับ Model Garden callexport ANTHROPIC_VERTEX_PROJECT_ID="PROJECT_ID" # สำหรับ Model Garden callexport VERTEXAI_LOCATION="REGION" # สำหรับ Aider/LiteLLM callexport VERTEXAI_PROJECT="PROJECT_ID" # สำหรับการโทร Aider/LiteLLM
ตามค่าเริ่มต้น สิ่งนี้จะใช้ตัวแปรสภาพแวดล้อม DEEPSEEK_API_KEY
ตามค่าเริ่มต้น สิ่งนี้จะใช้ตัวแปรสภาพแวดล้อม OPENROUTER_API_KEY
โค้ดของเราสามารถเลือกใช้คีย์ Semantic Scholar API ( S2_API_KEY
) เพื่อให้ได้ปริมาณงานที่สูงขึ้น หากคุณมี แม้ว่าจะใช้งานได้โดยหลักการแล้วก็ตาม หากคุณมีปัญหากับ Semantic Scholar คุณสามารถข้ามขั้นตอนการค้นหาวรรณกรรมและการอ้างอิงของการสร้างกระดาษได้
อย่าลืมระบุรหัสสำหรับรุ่นที่ใช้สำหรับการวิ่งของคุณ เช่น:
ส่งออก OPENAI_API_KEY = "รหัสของคุณที่นี่" ส่งออก S2_API_KEY = "รหัสของคุณที่นี่"
ส่วนนี้จะให้คำแนะนำในการตั้งค่าเทมเพลตทั้งสามแบบที่ใช้ในรายงานของเรา ก่อนที่จะทำการทดลอง The AI Scientist โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนการตั้งค่าสำหรับเทมเพลตที่คุณสนใจแล้ว
คำอธิบาย: เทมเพลตนี้ตรวจสอบงานการทำนายโทเค็นถัดไปแบบถดถอยอัตโนมัติที่ใช้หม้อแปลง
ขั้นตอนการตั้งค่า:
เตรียมข้อมูล:
ข้อมูลหลาม/enwik8/prepare.py ข้อมูลหลาม/shakespeare_char/prepare.py ข้อมูลหลาม/text8/prepare.py
สร้างการรันพื้นฐาน (ขึ้นอยู่กับเครื่องจักร):
# ตั้งค่าการรันพื้นฐาน NanoGPT# หมายเหตุ: คุณต้องรันสคริปต์ที่เตรียมไว้ข้างต้นก่อน!cd templates/nanoGPT หลามการทดลอง.py --out_dir run_0 หลาม plot.py
คำอธิบาย: เทมเพลตนี้ศึกษาการปรับปรุงประสิทธิภาพของแบบจำลองการแพร่กระจายบนชุดข้อมูลขนาดต่ำ
ขั้นตอนการตั้งค่า:
ติดตั้งการพึ่งพา:
# ตั้งค่าโคลน 2D Diffusiongit https://github.com/gregversteeg/NPEET.gitcd NPEET pip ติดตั้ง .pip ติดตั้ง scikit-learn
สร้างการวิ่งพื้นฐาน:
# ตั้งค่าเทมเพลต runcd พื้นฐานการแพร่กระจาย 2D/2d_diffusion หลามการทดลอง.py --out_dir run_0 หลาม plot.py
คำอธิบาย: เทมเพลตนี้จะตรวจสอบคำถามเกี่ยวกับลักษณะทั่วไปและความเร็วในการเรียนรู้ในโครงข่ายประสาทเทียมเชิงลึก
ขั้นตอนการตั้งค่า:
ติดตั้งการพึ่งพา:
# ตั้งค่า Grokkingpip ติดตั้ง einops
สร้างการวิ่งพื้นฐาน:
# ตั้งค่าเทมเพลต runcd พื้นฐาน Grokking/grokking หลามการทดลอง.py --out_dir run_0 หลาม plot.py
หมายเหตุ: โปรดตรวจสอบให้แน่ใจว่าขั้นตอนการตั้งค่าข้างต้นเสร็จสมบูรณ์ก่อนที่จะทำการทดสอบเหล่านี้
conda เปิดใช้งาน ai_scientist# เรียกใช้กระดาษ generation.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 openaifrom ai_scientist.perform_review import load_paper, Perform_reviewclient = openai.OpenAI()model = "gpt-4o-2024-05-13"# โหลดกระดาษจากไฟล์ PDF (ข้อความดิบ)paper_txt = load_paper("report.pdf")# Get พจนานุกรมทบทวนทบทวน = Perform_review(paper_txt,model,client,num_reflections=5,num_fs_examples=1,num_reviews_ensemble=5,อุณหภูมิ=0.1, )# ตรวจสอบผลการทบทวน ทบทวน["โดยรวม"] # คะแนนรวม (1-10) ทบทวน["การตัดสินใจ"] # 'ยอมรับ' หรือ 'ปฏิเสธ' ทบทวน["จุดอ่อน"] # รายการจุดอ่อน (สตริง)
หากต้องการเรียกใช้การวิเคราะห์แบทช์:
ซีดี review_iclr_bench python iclr_analysis.py --num_reviews 500 --batch_size 100 --num_fs_examples 1 --num_reflections 5 --อุณหภูมิ 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
ร่าง RNN ( sketch_rnn
) - PR #143
ส่วนนี้สงวนไว้สำหรับการมีส่วนร่วมของชุมชน โปรดส่งคำขอดึงเพื่อเพิ่มเทมเพลตของคุณลงในรายการ! โปรดอธิบายเทมเพลตในคำอธิบาย PR และแสดงตัวอย่างเอกสารที่สร้างขึ้นด้วย
เรามีเทมเพลตสามแบบซึ่งใช้โค้ดจำนวนมากจากแหล่งเก็บข้อมูลอื่น โดยมีเครดิตด้านล่าง:
เทมเพลต NanoGPT ใช้โค้ดจาก NanoGPT และ PR นี้
เทมเพลตการแพร่กระจาย 2D ใช้โค้ดจาก 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 หรือบทวิจารณ์
นักวิทยาศาสตร์ AI เสร็จสิ้นแนวคิดด้วยอัตราความสำเร็จซึ่งขึ้นอยู่กับเทมเพลต แบบจำลองพื้นฐาน และความซับซ้อนของแนวคิด เราแนะนำให้อ้างอิงถึงรายงานหลักของเรา อัตราความสำเร็จสูงสุดสังเกตได้จาก Claude Sonnet 3.5 บทวิจารณ์ทำได้ดีที่สุดกับ GPT-4o รุ่นอื่นๆ ทั้งหมดมีปัญหาเกี่ยวกับความลำเอียงเชิงบวกหรือความล้มเหลวในการปฏิบัติตามเอาต์พุตที่ต้องการ
ต้นทุนของแต่ละไอเดียที่สร้างขึ้นคือเท่าไร?
โดยทั่วไปจะน้อยกว่า 15 ดอลลาร์ต่อกระดาษที่มี Claude Sonnet 3.5 เราขอแนะนำ DeepSeek Coder V2 สำหรับแนวทางที่คุ้มค่ากว่ามาก สถานที่ที่ดีในการมองหาโมเดลใหม่คือกระดานผู้นำ Aider
ฉันจะเปลี่ยนรูปแบบการประชุมพื้นฐานที่เกี่ยวข้องกับการเขียนบทความได้อย่างไร
เปลี่ยนไฟล์ template.tex
พื้นฐานที่มีอยู่ในแต่ละเทมเพลต
ฉันจะจัดโครงการ The AI Scientist สำหรับสาขาวิชาต่างๆ ได้อย่างไร
โปรดดูคำแนะนำสำหรับเทมเพลตต่างๆ ในการทำซ้ำปัจจุบันนี้ จำกัดเฉพาะแนวคิดที่สามารถแสดงเป็นโค้ดได้ อย่างไรก็ตาม การยกเลิกข้อจำกัดนี้จะแสดงถึงการทำงานที่น่าตื่นเต้นในอนาคต! -
ฉันจะเพิ่มการรองรับสำหรับโมเดลพื้นฐานใหม่ได้อย่างไร
คุณสามารถแก้ไข ai_scientist/llm.py
เพื่อเพิ่มการรองรับสำหรับโมเดลพื้นฐานใหม่ เราไม่แนะนำให้ใช้โมเดลใดๆ ที่อ่อนแอกว่าระดับ GPT-4 อย่างมากสำหรับ The AI Scientist
เหตุใดฉันจึงต้องรัน baseline run ด้วยตัวเอง?
สิ่งเหล่านี้จะปรากฏเป็น run_0
และควรรันต่อเครื่องที่คุณใช้งาน The AI Scientist เพื่อการเปรียบเทียบรันไทม์ที่แม่นยำเนื่องจากความแตกต่างของฮาร์ดแวร์
จะเกิดอะไรขึ้นหากฉันประสบปัญหาในการเข้าถึง Semantic Scholar API
เราใช้ Semantic Scholar API เพื่อตรวจสอบแนวคิดเกี่ยวกับสิ่งแปลกใหม่ และรวบรวมการอ้างอิงสำหรับการเขียนรายงาน คุณอาจข้ามขั้นตอนเหล่านี้ได้หากคุณไม่มีคีย์ API หรือเข้าถึง API ได้ช้า
เรารวมอิมเมจ Docker ที่สนับสนุนโดยชุมชนซึ่งอาจช่วยคุณในการดำเนินการคอนเทนเนอร์ใน experimental/Dockerfile
คุณสามารถใช้ภาพนี้เช่นนี้:
# จุดสิ้นสุด Scriptdocker ทำงาน -e OPENAI_API_KEY=$OPENAI_API_KEY -v `pwd`/templates:/app/AI-Scientist/templates <AI_SCIENTIST_IMAGE> --รุ่น gpt-4o-2024-05-13 --ทดลอง 2d_diffusion --num-ไอเดีย 2
# Interactivedocker วิ่ง -it -e OPENAI_API_KEY=$OPENAI_API_KEY --จุดเข้าใช้งาน /bin/bash <AI_SCIENTIST_IMAGE>