🐉 LOONON: از طریق تأییدیه ها ، تختخواب های طولانی را در مقیاس سنتز کنید

مدلهای استدلال بزرگ اخیر مانند DeepSeek-R1 نشان داده اند که قابلیت استدلال عمومی LLM ها تا زمانی که مدلهای پایه تحت آموزش با یادگیری تقویت (RL) با پاداش قابل اثبات قرار بگیرند ، تا حد زیادی بهبود می یابند. ریاضیات و برنامه نویسی به ویژه از این رویکرد بهره مند شده اند ، زیرا این حوزه ها می توانند به راحتی تأیید شوند – اجازه دادن به تفسیر دقیق از پاسخ های LLM و مقایسه مؤثر با حقیقت زمین در سطح معنایی. این ایده که سهولت تأیید برای بهبود قابلیت های خاص دامنه بسیار مهم است در جامعه تحقیقاتی پذیرفته شده است.
پیش نیاز انتقادی دیگر که اغلب مورد غفلت واقع می شود فراوانی است مجموعه داده های با کیفیت بالا، دارای سؤالات جفت شده با پاسخ های صحیح تأیید شده در حوزه های ریاضی و برنامه نویسی. این مجموعه داده های سرپرست سیگنال لازم را برای مدل ها برای یادگیری ساختار منسجم فراهم می کند زنجیر (COTS) با اطمینان برای اصلاح پاسخ ها.
با این حال ، بسیاری از حوزه های دیگر نیز به استدلال قابل اعتماد نیاز دارند – از جمله منطق ، تئوری نمودار ، فیزیک و امور مالی. این دامنه ها فاقد مجموعه داده های قابل مقایسه هستند و تولید داده های تحت نظارت انسان در مقیاس بسیار گران است. بدون پاسخ صحیح فراوان برای یادگیری ، مدل ها نمی توانند به راحتی الگوهای استدلال خاص دامنه را بدست آورند. این یک سوال مهم را ایجاد می کند: آیا می توان عملکرد استدلال مشابه را در دامنه های فراتر از ریاضی و برنامه نویسی بدست آورد؟
در این وبلاگ ، ما پروژه را معرفی می کنیم لگد – تمرکز بر مقیاس گذاری تولید داده مصنوعی با تأیید کننده برای دامنه وسیع دامنه ها ما اعتقاد داریم که تولید داده مصنوعی ضروری است-نه تنها برای پرداختن به شکاف در حوزه های محوطه داده ، بلکه برای تقویت قابلیت های استدلال در مناطقی مانند ریاضی و برنامه نویسی با گسترش در دسترس بودن مجموعه داده ها.
بستن شکاف تأیید در داده های مصنوعی برای RL
به طور طبیعی ، شکاف طبیعی بین سؤالات مصنوعی و پاسخ آنها وجود دارد ، زیرا صحت پاسخ های مصنوعی ذاتاً تضمین نمی شود. برای بستن این شکاف به طور کامل ، به نظارت انسانی نیاز دارد که بسیار گران است. ما سعی می کنیم تا آنجا که ممکن است این شکاف را ببندیم بدون اینکه یک انسان را در حلقه درگیر کنیم.
برای انجام این کار ، ما یک سیستم چند عاملی ایجاد کردیم که سؤالات مصنوعی و پاسخ های مربوطه را از یک مجموعه داده بذر ایجاد می کند. این سؤالات مصنوعی سپس به نماینده ای که می خواهیم آموزش دهیم مطرح می شود و ما از تأیید کننده های مختلف دامنه استفاده می کنیم تا پاسخ های عامل را در برابر پاسخ های مصنوعی مقایسه کنیم تا معادل معنایی را بررسی کنیم.
یکی از ایده های اصلی ما در یک فرضیه ساده پایه گذاری شده است: یک LLM مجهز به یک مترجم کد می تواند سؤالاتی را با اطمینان بیشتری در مقایسه با یک اعتماد به نفس تنها به استدلال زنجیره ای از فکر خود در زبان طبیعی حل کند.
این امر باعث می شود که بسیاری از زمینه های فراتر از علوم رایانه-مانند فیزیک ، نوروفیزیولوژی ، اقتصاد و زیست شناسی محاسباتی-به طور کامل به راه حل های مبتنی بر کد برای حل مشکلات در حوزه خود متکی باشند.
محیط لنگ
از آنجا که ما بیشتر علاقه مند به انجام RL هستیم ، همه قطعات را در یک سالن ورزشی یکپارچه ساختیم. محیط، ارائه یک رابط روشن برای آزمایش RL.
محیط های ما سه مؤلفه اصلی را به خطر می اندازد:
مجموعه داده بذر
ما با جمع آوری دستی مجموعه داده های خاص دامنه متشکل از سؤالات و پاسخ های حقیقت زمینی شروع می کنیم. هر سؤال در مجموعه داده بذر با استفاده از کد قابل حل است. در صورت وجود ، ما کدی را که به حقیقت زمین منتهی می شود ، ضبط می کنیم. هدف از مجموعه داده بذر این نیست که یک مجموعه داده بزرگ برای استفاده مستقیم برای آموزش استفاده شود ، بلکه به عنوان ابزاری برای راه اندازی فرآیند تولید داده مصنوعی با بذر فرآیند تولید LLM است.
بررسی اجمالی مجموعه داده ها
مخزن در حال حاضر شامل مجموعاً است 3551 سوال شیب دار 8 حوزه متنوع (و در حال رشد):
- ریاضی پیشرفته: 1615 سوال
- فیزیک پیشرفته: 434 سوال
- زیست شناسی محاسباتی: 304 سوال
- امور مالی: 320 سوال
- نمودار و ریاضی گسسته: 179 سوال
- منطق: 110 سوال
- برنامه نویسی ریاضی: 68 سوال
- امنیت و ایمنی: 521 سوال
تولید کننده داده های مصنوعی
ژنراتور داده مصنوعی ما را می توان به عنوان یک جعبه سیاه مشاهده کرد ، که توسط یک مجموعه داده بذر بذر می شود و تعداد دلخواه سؤالات مصنوعی و پاسخ های مصنوعی به آن سؤالات را بر اساس مجموعه داده بذر ایجاد می کند. محیط هیچ فرضیه دیگری در مورد عملکرد داخلی ژنراتور ایجاد نمی کند. این بدان معنی است که هر الگوریتمی می تواند برای ایجاد داده های مصنوعی در زیر کاپوت استفاده شود. ما در حال حاضر از تعداد چند شات نسبت به داده های بذر و همچنین یک سیستم MutliAgent پشتیبانی می کنیم ، جایی که ما برای تولید سؤالات و یک عامل حل کننده برای پاسخ های مصنوعی از خود در حال ساخت ، بازگردانی یا سایر خطوط لوله تولید داده استفاده می کنیم.
استرس مهم است که انتظار نداریم این پاسخ های مصنوعی همیشه صحیح باشد. در حالی که فرض می کنیم که به دلیل اجرای کد که محاسبات دقیق را ارائه می دهیم ، راه حل های صحیح تری نسبت به یک تخت ساده لوحانه بدست می آوریم ، ما به خوبی می دانیم که بسیاری از پاسخ های مصنوعی هنوز هم اشتباه خواهند بود.
با این حال ، این مشکلی نیست زیرا ما از این داده های مصنوعی خام یاد نمی گیریم. ما در مرحله بعدی آن را فیلتر خواهیم کرد و فقط از این داده های مصنوعی فیلتر شده یاد خواهیم گرفت.
تأیید کننده
در حالی که ژنراتور داده مصنوعی داده های مصنوعی کافی را تولید می کند ، لازم است قبل از استفاده از آنها برای آموزش ، راه حل های نادرست را فیلتر کنید. برای انجام این کار به طور مؤثر ، ما پاسخ های مصنوعی را با استفاده از دو رویکرد مستقل تأیید می کنیم:
اگر این راه حل های مستقل موافق باشند ، بسیار محتمل است که جواب صحیح باشد. اگرچه نادر است ، اما هنوز امکان مثبت کاذب وجود دارد (هر دو رویکرد نادرست موافق هستند). با این حال ، با توجه به روشهای اساساً متفاوت ، ما معتقدیم که این اتفاق اغلب به اندازه کافی رخ نمی دهد تا برای آموزش مدل مضر باشد.
هر محیط نیز شامل a تأیید کننده که از نظر معنایی پاسخ LLM را با پاسخ مصنوعی مقایسه می کند ، و اطمینان می دهد که آنها به طور موثری معادل هستند. این مرحله تأیید برای فیلتر دقیق معادل های معنایی بسیار مهم است ، به طور قابل توجهی منفی های کاذب را کاهش می دهد (مواردی که پاسخ های صحیح درست در غیر این صورت به اشتباه رد می شوند).
عامل تولید COT مدلی است که ما در نهایت قصد آموزش آن را داریم. در حین آموزش RL ، این عامل فقط هنگامی که پاسخ نهایی تولید شده توسط COT خود را به صورت معنایی توسط تأیید کننده برای مطابقت با پاسخ مصنوعی تأیید می کند ، دریافت می کند ، بنابراین اطمینان می دهد که آن را منحصراً از داده های مصنوعی احتمالاً تصحیح می کند.
یک قطعه کد برای شروع با محیط LOONG
قطعه کد در زیر نسخه ساده ای از نحوه استفاده از محیط LOONG را نشان می دهد. جزئیات پیاده سازی که منجر به بهبود درک در سطح هوشمندانه نمی شوند ، حذف شده اند. برای توضیح دقیق در مورد نحوه استفاده از محیط تک مرحله ای ، لطفاً به این کتاب آشپزی مراجعه کنید.
from camel.environments import SingleStepEnv
from camel.datasets import FewShotGenerator, StaticDataset
from camel.verifiers import PythonVerifier
from camel.agents import ChatAgent
from datasets import load_dataset
# Load and initialize a seed dataset
dataset = load_dataset("camel-ai/loong", split="graph_discrete_math")
seed_dataset = StaticDataset(dataset)
# Set up the verifier
verifier = PythonVerifier(required_packages=["numpy", "networkx"])
# Define a model backend to use for the generator
model = ...
# Set up synthetic data generation
generator = FewShotGenerator(seed_dataset=seed_dataset, verifier=verifier, model=model)
# Initialize the Loong environment
env = SingleStepEnv(generator, verifier)
# Define the agent that shall interact with the environment
agent = ChatAgent()
# Example environment interaction
obs = await env.reset()
agent_response = agent.step(obs.question) # a step for the agent
next_obs, reward, done, info = await env.step(agent_response)
مشارکت در پروژه LOON
محققان و توسعه دهندگان می توانند از محیط لنگ برای تولید داده های مصنوعی در دامنه های مختلف استفاده کنند. ما قبلاً مجموعه داده های بذر را برای چند حوزه جمع آوری کرده ایم ، از جمله ریاضیات ، تئوری نمودار ، برنامه نویسی ریاضی و منطق. داده های بذر و همچنین کتابهای آشپزی را می توان در GitHub یافت. علاوه بر این ، ما شما را ترغیب می کنیم تا مجموعه داده های بذر خود را جمع آوری کرده و از Loong استفاده کنید تا داده های مصنوعی را برای دامنه خود تولید کنید. ما تمام مجموعه داده های بذر را که جمع آوری کرده ایم برای Huggingface یکپارچه کرده ایم و بارگذاری کرده ایم: اینجا را بررسی کنید.
علاوه بر این ، ما شما را ترغیب می کنیم تا مجموعه داده های بذر خود را جمع آوری کرده و از Loong استفاده کنید تا داده های مصنوعی را برای دامنه خود تولید کنید.
ما در حال حاضر در تلاش هستیم تا از محیطی که ساخته ایم برای انجام پس از آموزش در بالای LLMS در اندازه های مختلف استفاده کنیم تا ببینیم آیا می توانیم پیشرفت در قابلیت های استدلال عمومی و همچنین دامنه خاص را مشاهده کنیم. ما هنوز در حال آزمایش با تنظیمات مختلف پاداش هستیم و به دنبال رویکرد Deepseek ، عمدتاً روی پاداش های صحت تمرکز می کنیم. جزئیات بیشتر ، و همچنین نتایج ما در مقاله پیش نمایش آینده ما منتشر می شود.
در شتر ، ما معتقدیم که محیط ها یک مؤلفه حیاتی برای بهبود استدلال عامل خاص دامنه هستند. اگر می توان مشکلی را به وضوح در یک محیط تنظیم کرد ، مأمورین این امکان را دارند که به طور مستقل به آن تسلط داشته باشند.
با استفاده از LOUN ، هدف ما این است که به یک چالش اساسی در تولید داده های مصنوعی بپردازیم: تضمین کیفیت داده ها از طریق تأیید. هدف ما با LOUNG این است که ساخت مجموعه داده های استدلال قابل اعتماد در دامنه هایی که داده های سرپرستی کمیاب هستند ، آسان تر شود.
ما از محققان و توسعه دهندگان دعوت می کنیم تا از مجموعه داده های بذر ، تأیید کننده ها و ایده ها برای کمک به بهبود و گسترش پروژه خود استفاده کنند. آماده پیوستن هستید؟ روی پیوند کلیک کنید یا آن را در مرورگر خود بچسبانید تا اکنون اعمال شود.