[ورقة] | [تدوينة] | [مجلد محرك الأقراص]
أحد التحديات الكبرى للذكاء الاصطناعي هو تطوير عوامل قادرة على إجراء البحث العلمي واكتشاف المعرفة الجديدة. وفي حين تم بالفعل استخدام النماذج الحدودية لمساعدة العلماء البشريين - على سبيل المثال، لتبادل الأفكار أو كتابة التعليمات البرمجية - إلا أنها لا تزال تتطلب إشرافًا يدويًا مكثفًا أو مقيدة بشدة بمهام محددة.
نحن متحمسون لتقديم The AI Scientist ، وهو أول نظام شامل للاكتشاف العلمي التلقائي بالكامل، مما يمكّن النماذج الأساسية مثل نماذج اللغات الكبيرة (LLMs) من إجراء الأبحاث بشكل مستقل.
نحن نقدم جميع عمليات التشغيل والبيانات من ورقتنا هنا، حيث نقوم بتشغيل كل نموذج أساسي على كل قالب لحوالي 50 فكرة. نوصي بشدة بقراءة بعض أوراق كلود للتعرف على نقاط القوة والضعف في النظام. فيما يلي بعض الأمثلة على الأوراق البحثية التي أنشأها The AI Scientist :
نشر DualScale: موازنة الميزات التكيفية للنماذج التوليدية منخفضة الأبعاد
التكيف مع ضوضاء الشبكة متعددة النطاق: تعزيز نماذج الانتشار للبيانات منخفضة الأبعاد
الانتشار المعزز لـ GAN: تعزيز جودة العينة وتنوعها
DualDiff: تحسين التقاط الوضع في نماذج الانتشار منخفضة الأبعاد عبر تقليل الضوضاء ثنائي الخبرة
StyleFusion: إنشاء أنماط متعددة متكيفة في نماذج اللغة على مستوى الشخصية
معدلات التعلم التكيفية للمحولات عبر Q-Learning
فتح Grokking: دراسة مقارنة لاستراتيجيات تهيئة الوزن في نماذج المحولات
تسريع Grokking: معدلات التعلم على مستوى الطبقة لتعميم المحولات
التلاعب من خلال الضغط: الكشف عن التعميم المفاجئ عبر الحد الأدنى من طول الوصف
تسريع البصيرة الرياضية: تعزيز النمو من خلال زيادة البيانات الاستراتيجية
ملحوظة:
حذر! ستقوم قاعدة التعليمات البرمجية هذه بتنفيذ تعليمات برمجية مكتوبة من LLM. هناك العديد من المخاطر والتحديات المرتبطة بهذا الاستقلالية، بما في ذلك استخدام الحزم التي يحتمل أن تكون خطرة، والوصول إلى الويب، والتكاثر المحتمل للعمليات. استخدم وفقًا لتقديرك الخاص. يرجى التأكد من احتواء وتقييد الوصول إلى الويب بشكل مناسب.
مقدمة
متطلبات
تثبيت
النماذج المدعومة ومفاتيح API
إعداد القوالب
قالب نانو جي بي تي
قالب نشر ثنائي الأبعاد
قالب جروكينج
قم بإجراء تجارب إنشاء الورق بواسطة علماء الذكاء الاصطناعي
الحصول على مراجعة ورقية صادرة عن LLM
صنع القالب الخاص بك
القوالب التي يساهم بها المجتمع
موارد القالب
نقلا عن عالم الذكاء الاصطناعي
الأسئلة المتداولة
النقل بالحاويات
نحن نقدم ثلاثة قوالب تم استخدامها في بحثنا، وتغطي المجالات التالية: NanoGPT و 2D Diffusion و Grokking . تمكن هذه القوالب The AI Scientist من توليد الأفكار وإجراء التجارب في هذه المجالات. نحن نقبل مساهمات القوالب الجديدة من المجتمع، ولكن يرجى ملاحظة أننا لا نحتفظ بها. جميع القوالب الأخرى بخلاف الثلاثة المقدمة هي مساهمات مجتمعية.
تم تصميم هذا الرمز ليتم تشغيله على Linux مع وحدات معالجة الرسومات NVIDIA باستخدام CUDA وPyTorch. قد يكون دعم بنيات GPU الأخرى ممكنًا باتباع إرشادات PyTorch. من المحتمل أن تستغرق القوالب الحالية قدرًا غير ممكن من الوقت على الأجهزة التي تعمل بوحدة المعالجة المركزية (CPU) فقط. قد يتطلب التشغيل على أنظمة تشغيل أخرى تعديلات كبيرة.
conda create -n ai_scientist python=3.11 condaactivate ai_scientist# تثبيت pdflatexsudo apt-get install texlive-full# تثبيت PyPI requirepip install -r require.txt
ملاحظة: قد يستغرق تثبيت texlive-full
وقتًا طويلاً. قد تحتاج إلى الضغط باستمرار على Enter أثناء التثبيت.
نحن ندعم مجموعة واسعة من النماذج، بما في ذلك النماذج ذات الوزن المفتوح ونماذج API فقط. بشكل عام، نوصي باستخدام الطرازات الحدودية فقط التي تفوق قدرة GPT-4 الأصلية. لرؤية القائمة الكاملة للنماذج المدعومة، انظر هنا.
افتراضيًا، يستخدم هذا متغير البيئة OPENAI_API_KEY
.
افتراضيًا، يستخدم هذا متغير البيئة ANTHROPIC_API_KEY
.
بالنسبة لنماذج Claude المقدمة من Amazon Bedrock، يرجى تثبيت هذه الحزم الإضافية:
تثبيت النقطة أنثروبولوجي[حجر الأساس]
بعد ذلك، حدد مجموعة من بيانات اعتماد AWS الصالحة ومنطقة AWS المستهدفة:
قم بتعيين متغيرات البيئة: AWS_ACCESS_KEY_ID
، AWS_SECRET_ACCESS_KEY
، AWS_REGION_NAME
.
بالنسبة لنماذج Claude المقدمة من Vertex AI Model Garden، يرجى تثبيت هذه الحزم الإضافية:
نقطة تثبيت google-cloud-aiplatform تثبيت النقطة الأنثروبولوجية[قمة الرأس]
بعد ذلك، قم بإعداد مصادقة صالحة لمشروع 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 = "مفتاحك هنا"
يوفر هذا القسم تعليمات لإعداد كل من القوالب الثلاثة المستخدمة في ورقتنا. قبل تشغيل تجارب AI Scientist، يرجى التأكد من إكمال خطوات الإعداد للنماذج التي تهمك.
الوصف: يبحث هذا القالب في مهام التنبؤ بالرمز المميز التالي القائمة على المحولات.
خطوات الإعداد:
تحضير البيانات:
بيانات بايثون/enwik8/prepare.py بيانات بايثون/shakespeare_char/prepare.py بيانات بايثون/text8/prepare.py
إنشاء عمليات تشغيل أساسية (تعتمد على الآلة):
# إعداد تشغيل خط الأساس لـ NanoGPT# ملاحظة: يجب عليك أولاً تشغيل البرامج النصية المعدة أعلاه!cd templates/nanoGPT تجربة بايثون.py --out_dir run_0 بيثون مؤامرة.py
الوصف: يدرس هذا القالب تحسين أداء النماذج التوليدية للانتشار على مجموعات البيانات منخفضة الأبعاد.
خطوات الإعداد:
تثبيت التبعيات:
# إعداد استنساخ Diffusiongit ثنائي الأبعاد https://github.com/gregversteeg/NPEET.gitcd NPEET تثبيت النقطة. تثبيت النقطة scikit-Learn
إنشاء عمليات تشغيل أساسية:
# إعداد خط الأساس للنشر ثنائي الأبعاد runcd templates/2d_diffusion تجربة بايثون.py --out_dir run_0 بيثون مؤامرة.py
الوصف: يبحث هذا القالب في أسئلة حول التعميم وسرعة التعلم في الشبكات العصبية العميقة.
خطوات الإعداد:
تثبيت التبعيات:
# إعداد تثبيت Grokkingpip einops
إنشاء عمليات تشغيل أساسية:
# قم بإعداد قوالب/grokking الأساسية لخط التشغيل runcd تجربة بايثون.py --out_dir run_0 بيثون مؤامرة.py
ملاحظة: يرجى التأكد من إكمال خطوات الإعداد المذكورة أعلاه قبل إجراء هذه التجارب.
condaactivate ai_scientist# تشغيل الجيل الورقي.python Launch_scientist.py --نموذج "gpt-4o-2024-05-13" --تجربة nanoGPT_lite --num-ideas 2 python Launch_scientist.py - النموذج "claude-3-5-sonnet-20241022" - تجربة nanoGPT_lite - عدد الأفكار 2
إذا كان لديك أكثر من وحدة معالجة رسومات واحدة، فاستخدم الخيار --parallel
لموازنة الأفكار عبر وحدات معالجة الرسومات المتعددة.
import openaifrom ai_scientist.perform_review import Load_paper, بيرفورمان_reviewclient = openai.OpenAI()model = "gpt-4o-2024-05-13"# تحميل الورق من ملف PDF (نص أولي)paper_txt = Load_paper("report.pdf")# Get مراجعة قاموس المراجعة = أداء_review(paper_txt,model,client,num_reflections=5,num_fs_examples=1,num_reviews_ensemble=5,درجة الحرارة=0.1, )# Inspect review resultsreview["Overall"] # النتيجة الإجمالية (1-10)review["Decision"] # 'Accept' or 'Reject'review["Weaknesses"] # قائمة نقاط الضعف (سلاسل)
لتشغيل تحليل الدفعة:
مراجعة القرص المضغوط_iclr_bench بايثون iclr_analogy.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
لاستخدام نمط الاقتباس الصحيح/المخططات الأساسية للقالب الخاص بك.
نحن نرحب بمساهمات المجتمع في شكل قوالب جديدة. على الرغم من أننا لا نتولى صيانتها، إلا أنه يسعدنا تسليط الضوء على نماذجك للآخرين. أدناه، ندرج النماذج التي ساهم بها المجتمع بالإضافة إلى روابط لطلبات السحب (PRs):
نمذجة الأمراض المعدية ( seir
) - PR #137
تصنيف الصور باستخدام MobileNetV3 ( mobilenetV3
) - PR #141
رسم RNN ( sketch_rnn
) - العلاقات العامة رقم 143
هذا القسم مخصص لمساهمات المجتمع. يرجى تقديم طلب سحب لإضافة القالب الخاص بك إلى القائمة! يرجى وصف القالب في وصف العلاقات العامة، وكذلك عرض أمثلة على الأوراق التي تم إنشاؤها.
نحن نقدم ثلاثة قوالب، والتي تستخدم التعليمات البرمجية من مستودعات أخرى بكثافة، وهي مدرجة أدناه:
يستخدم قالب NanoGPT رمزًا من NanoGPT وهذه العلاقات العامة.
يستخدم قالب الانتشار ثنائي الأبعاد تعليمات برمجية من تقنية الانتشار الصغير و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 أو المراجعة؟
يقوم عالم الذكاء الاصطناعي بإنهاء الفكرة بمعدل نجاح يعتمد على القالب ونموذج الأساس الأساسي ومدى تعقيد الفكرة. ننصح بالرجوع إلى ورقتنا الرئيسية. لوحظت أعلى معدلات النجاح مع كلود سونيت 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 .
لماذا أحتاج إلى تشغيل خط الأساس بنفسي؟
تظهر هذه كـ run_0
ويجب تشغيلها لكل جهاز تقوم بتشغيل The AI Scientist عليه لإجراء مقارنات دقيقة لوقت التشغيل بسبب اختلافات الأجهزة.
ماذا لو واجهت مشاكل في الوصول إلى Semantic Scholar API؟
نحن نستخدم واجهة برمجة تطبيقات Semantic Scholar للتحقق من حداثة الأفكار وجمع الاستشهادات الخاصة بالكتابة الورقية. قد تتمكن من تخطي هذه المراحل إذا لم يكن لديك مفتاح واجهة برمجة التطبيقات أو كان الوصول إلى واجهة برمجة التطبيقات بطيئًا.
نقوم بتضمين صورة 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 --عدد الأفكار 2
# Interactivedocker run -it -e OPENAI_API_KEY=$OPENAI_API_KEY --نقطة الإدخال /bin/bash <AI_SCIENTIST_IMAGE>