Buckets:
| import{s as ve,a as oe,n as Xe,o as Ze}from"../chunks/scheduler.893fe8c9.js";import{S as Ne,i as Ye,e as M,s,c as r,h as Le,a as n,d as t,b as J,f as pl,g as i,j as T,k as a,l as ze,m as U,n as w,t as o,o as p,p as C}from"../chunks/index.b1df2166.js";import{C as Pe,H as y,E as He}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.fc58a63a.js";import{C as il}from"../chunks/CodeBlock.0fe60110.js";function We(pe){let V,Cl,wl,gl,R,cl,E,ml,S,Ce="ဒီစာမျက်နှာမှာ၊ Transformer Reinforcement Learning (TRL) library ကို အသုံးပြုပြီး Group Relative Policy Optimization (GRPO) ကို ဘယ်လိုအကောင်အထည်ဖော်ရမလဲဆိုတာ လေ့လာသွားမှာပါ။ ကျွန်တော်တို့ဟာ code ကို အနည်းဆုံးနဲ့ လက်တွေ့အကောင်အထည်ဖော်ခြင်းကို အဓိကထားမှာပါ။",yl,A,ge="GRPO ရဲ့ အဓိကသဘောတရားတွေကို TRL ရဲ့ GRPOTrainer မှာ ဘယ်လိုပါဝင်နေလဲဆိုတာကို လေ့လာသွားမှာဖြစ်ပြီး၊ တရားဝင် TRL documentation က snippets တွေကို လမ်းညွှန်အဖြစ် အသုံးပြုပါမယ်။",Vl,d,ce='<p>ဒီအခန်းက TRL စတင်လေ့လာသူတွေအတွက် ရည်ရွယ်ပါတယ်။ သင် TRL ကို ကျွမ်းကျင်ပြီးသားဆိုရင်၊ GRPO ရဲ့ <a href="https://github.com/huggingface/open-r1/blob/main/src/open_r1/grpo.py" rel="nofollow">Open R1 implementation</a> ကိုလည်း လေ့လာကြည့်နိုင်ပါတယ်။</p>',dl,F,me="ပထမဆုံးအနေနဲ့၊ GRPO algorithm ရဲ့ အရေးကြီးတဲ့ သဘောတရားအချို့ကို ပြန်လည်သတိရကြရအောင်။",Rl,O,ye="<li><strong>Group Formation</strong>: model က prompt တစ်ခုစီအတွက် completions များစွာကို ထုတ်လုပ်ပါတယ်။</li> <li><strong>Preference Learning</strong>: model က completions အုပ်စုတွေကို နှိုင်းယှဉ်တဲ့ reward function ကနေ သင်ယူပါတယ်။</li> <li><strong>Training Configuration</strong>: model က training process ကို ထိန်းချုပ်ဖို့ configuration တစ်ခုကို အသုံးပြုပါတယ်။</li>",El,j,Ve="GRPO ကို အကောင်အထည်ဖော်ဖို့ ကျွန်တော်တို့ ဘာတွေလုပ်ဖို့ လိုအပ်မလဲ။",Sl,I,de="<li>prompts များ၏ dataset တစ်ခုကို သတ်မှတ်ပါ။</li> <li>completions စာရင်းကို ယူပြီး rewards စာရင်းကို ပြန်ပေးမယ့် reward function တစ်ခုကို သတ်မှတ်ပါ။</li> <li>training process ကို GRPOConfig တစ်ခုဖြင့် configure လုပ်ပါ။</li> <li>GRPOTrainer ကို အသုံးပြုပြီး model ကို train လုပ်ပါ။</li>",Al,u,Re="GRPO training ကို စတင်ဖို့အတွက် အနိမ့်ဆုံး ဥပမာတစ်ခုကတော့ အောက်ပါအတိုင်းပါ။",Fl,Q,Ol,x,jl,D,Il,f,Ee="သင့် dataset တွင် model က တုံ့ပြန်မည့် prompts များ ပါဝင်သင့်ပါတယ်။ GRPO trainer က prompt တစ်ခုစီအတွက် completions များစွာကို ထုတ်လုပ်ပြီး ၎င်းတို့ကို နှိုင်းယှဉ်ဖို့ reward function ကို အသုံးပြုပါလိမ့်မယ်။",ul,h,Ql,B,Se="reward function ဟာ အရေးကြီးပါတယ်။ ဒါက model က ဘယ်လိုသင်ယူတယ်ဆိုတာကို ဆုံးဖြတ်ပါတယ်။ လက်တွေ့ဥပမာ နှစ်ခုကတော့ အောက်ပါအတိုင်းပါ။",xl,k,Dl,b,fl,G,Ae="<code>GRPOConfig</code> တွင် ထည့်သွင်းစဉ်းစားရမည့် အဓိက parameters များ -",hl,$,Bl,_,Fe="<code>num_generation</code> parameter က GRPO အတွက် အထူးအရေးကြီးပါတယ်။ ဒါက group size ကို သတ်မှတ်ပါတယ်။ ဆိုလိုတာက model က prompt တစ်ခုစီအတွက် မတူညီတဲ့ completions ဘယ်နှစ်ခု ထုတ်လုပ်မလဲဆိုတာပါပဲ။ ဒါက အခြား RL methods တွေနဲ့ ကွာခြားတဲ့ အဓိကအချက်ပါ။",kl,v,Oe="<li><strong>အလွန်နည်းပါးလွန်းခြင်း (ဥပမာ- ၂-၃ ခု)</strong>- အဓိပ္ပာယ်ရှိသော နှိုင်းယှဉ်မှုများအတွက် လုံလောက်သော ကွဲပြားမှု (diversity) ကို မပေးနိုင်ပါ။</li> <li><strong>အကြံပြုထားသော (၄-၁၆ ခု)</strong>- ကွဲပြားမှုနှင့် တွက်ချက်မှု ထိရောက်မှု (computational efficiency) အကြား ကောင်းမွန်သော ဟန်ချက်ကို ပေးပါသည်။</li> <li><strong>ပိုမိုကြီးမားသော တန်ဖိုးများ</strong>- သင်ယူမှုကို ပိုမိုကောင်းမွန်စေနိုင်သော်လည်း တွက်ချက်မှု ကုန်ကျစရိတ်ကို သိသိသာသာ တိုးမြှင့်စေသည်။</li>",bl,X,je="group size ကို သင့်ရဲ့ computational resources တွေနဲ့ task ရဲ့ ရှုပ်ထွေးမှုပေါ် မူတည်ပြီး ရွေးချယ်သင့်ပါတယ်။ ရိုးရှင်းတဲ့ tasks တွေအတွက်၊ သေးငယ်တဲ့ groups တွေ (၄-၈) က လုံလောက်နိုင်ပြီး၊ ပိုမိုရှုပ်ထွေးတဲ့ reasoning tasks တွေကတော့ ပိုမိုကြီးမားတဲ့ groups တွေ (၈-၁၆) ကနေ အကျိုးအမြတ်ရနိုင်ပါတယ်။",Gl,Z,$l,N,Ie=`၁။ <strong>Memory Management</strong>: သင်၏ GPU memory အပေါ်မူတည်၍ <code>per_device_train_batch_size</code> နှင့် <code>gradient_accumulation_steps</code> ကို ချိန်ညှိပါ။ | |
| ၂။ <strong>Speed</strong>: သင်၏ model ကို ထောက်ပံ့ပါက ပိုမိုမြန်ဆန်သော generation အတွက် <code>use_vllm=True</code> ကို ဖွင့်ပါ။ | |
| ၃။ <strong>Monitoring</strong>: training လုပ်နေစဉ်အတွင်း log လုပ်ထားသော metrics များကို စောင့်ကြည့်ပါ။`,_l,Y,ue="<li><code>reward</code>: completions များ၏ ပျမ်းမျှ reward။</li> <li><code>reward_std</code>: reward groups များအတွင်းရှိ standard deviation။</li> <li><code>kl</code>: reference model မှ KL divergence။</li>",vl,L,Xl,z,Qe="DeepSeek R1 paper က သင်၏ GRPO implementation အတွက် လိုက်လျောညီထွေဖြစ်အောင် လုပ်ဆောင်နိုင်သော reward function ဒီဇိုင်းချခြင်း နည်းလမ်းများစွာကို ပြသထားပါတယ်။",Zl,P,Nl,H,xe="အကောင်အထည်ဖော်ရအလွယ်ဆုံး rewards တွေထဲက တစ်ခုကတော့ length-based reward ပါပဲ။ ပိုရှည်တဲ့ completions တွေကို ဆုချနိုင်ပါတယ်။",Yl,W,Ll,q,De="ဒီ reward function က အလွန်တိုတောင်းလွန်းတဲ့ ဒါမှမဟုတ် အလွန်ရှည်လျားလွန်းတဲ့ completions တွေကို အပြစ်ပေးပါတယ်။ ဒါက model ကို ideal length ၂၀ tokens နဲ့ နီးစပ်တဲ့ completions တွေ ထုတ်လုပ်ဖို့ တိုက်တွန်းပါတယ်။",zl,g,fe,Pl,K,Hl,ll,he="သင်္ချာ သို့မဟုတ် coding ကဲ့သို့ တိကျမှန်ကန်သော အဖြေများရှိသည့် tasks များအတွက်၊ rule-based reward functions များကို အကောင်အထည်ဖော်နိုင်ပါတယ်။",Wl,el,ql,c,Be,Kl,tl,le,Ul,ke="DeepSeek R1 training မှာ အရေးကြီးခဲ့တဲ့ သင့်လျော်တဲ့ formatting ကိုလည်း ဆုချနိုင်ပါတယ်။",ee,sl,te,m,be,Ue,Jl,Ge="ဒီဥပမာတွေက DeepSeek R1 training process ကနေ လှုံ့ဆော်မှုရယူပြီး မှန်ကန်မှု၊ formatting နဲ့ ပေါင်းစပ်ထားသော signals တွေကို အဓိကထားတဲ့ reward functions တွေကို ဘယ်လိုအကောင်အထည်ဖော်ရမယ်ဆိုတာကို ပြသထားပါတယ်။",se,Ml,Je,nl,$e="နောက်အပိုင်းမှာ၊ TRL မှာ GRPO ကို အကောင်အထည်ဖော်ဖို့ လေ့ကျင့်ခန်းတစ်ခုကို သင်လိုက်လုပ်ရပါလိမ့်မယ်။",Me,ne,Te,Tl,ae,al,_e="<li><strong>GRPO (Group Relative Policy Optimization)</strong>: Reinforcement Learning (RL) algorithm တစ်ခုဖြစ်ပြီး model က ထုတ်လုပ်လိုက်တဲ့ completions အုပ်စုတွေကို နှိုင်းယှဉ်ပြီး သင်ယူကာ model ရဲ့ policy ကို optimize လုပ်ပါတယ်။</li> <li><strong>TRL (Transformer Reinforcement Learning) Library</strong>: Hugging Face မှ ထုတ်လုပ်ထားသော library တစ်ခုဖြစ်ပြီး Transformer models များကို Reinforcement Learning techniques ဖြင့် fine-tune လုပ်ရန် ရည်ရွယ်သည်။</li> <li><strong>Implementation</strong>: သီအိုရီ သို့မဟုတ် algorithm တစ်ခုကို code အဖြစ် အကောင်အထည်ဖော်ခြင်း။</li> <li><strong>GRPOTrainer</strong>: TRL library မှ GRPO algorithm ကို အကောင်အထည်ဖော်သော Trainer class။</li> <li><strong>TRL Documentation</strong>: TRL library ၏ တရားဝင်မှတ်တမ်းများ။</li> <li><strong>Open R1 Implementation</strong>: GRPO algorithm ၏ open-source အကောင်အထည်ဖော်မှု။</li> <li><strong>Group Formation</strong>: model က prompt တစ်ခုစီအတွက် completions များစွာကို ထုတ်လုပ်ပြီး အုပ်စုဖွဲ့ခြင်း။</li> <li><strong>Completions</strong>: model က prompt တစ်ခုကို တုံ့ပြန်တဲ့အနေနဲ့ ထုတ်လုပ်ပေးတဲ့ စာသား သို့မဟုတ် sequence များ။</li> <li><strong>Preference Learning</strong>: reward function မှတဆင့် completions အုပ်စုများကို နှိုင်းယှဉ်ခြင်းဖြင့် model က သင်ယူသော လုပ်ငန်းစဉ်။</li> <li><strong>Reward Function</strong>: model ၏ output (completions) များကို အကဲဖြတ်ပြီး ဂဏန်းတန်ဖိုး (reward) တစ်ခုကို ပြန်ပေးသော function။ ၎င်းသည် model ကို သင်ယူရာတွင် လမ်းညွှန်ပေးသည်။</li> <li><strong>Training Configuration</strong>: training process အတွက် parameters များနှင့် settings များကို သတ်မှတ်ခြင်း။</li> <li><strong>GRPOConfig</strong>: TRL library မှ GRPO training အတွက် configuration များကို ထိန်းချုပ်သော class။</li> <li><strong>Dataset of Prompts</strong>: model က တုံ့ပြန်ရန်အတွက် အသုံးပြုမည့် prompts များပါဝင်သော dataset။</li> <li><strong><code>trl</code></strong>: Transformer Reinforcement Learning library။</li> <li><strong><code>GRPOTrainer</code></strong>: TRL မှ GRPO algorithm အတွက် Trainer class။</li> <li><strong><code>GRPOConfig</code></strong>: TRL မှ GRPO training အတွက် configuration class။</li> <li><strong><code>load_dataset</code></strong>: Hugging Face Datasets library မှ dataset များကို load လုပ်ရန် function။</li> <li><strong><code>output_dir</code></strong>: trained model နှင့် logs များကို သိမ်းဆည်းမည့် directory။</li> <li><strong><code>num_train_epochs</code></strong>: training လုပ်မည့် epochs အရေအတွက်။</li> <li><strong><code>per_device_train_batch_size</code></strong>: device တစ်ခုစီ (ဥပမာ- GPU) အတွက် batch size။</li> <li><strong><code>gradient_accumulation_steps</code></strong>: gradients များကို update မလုပ်မီ batches မည်မျှစုဆောင်းမည်ကို သတ်မှတ်ခြင်း။</li> <li><strong><code>logging_steps</code></strong>: training log များကို မည်သည့် step အရေအတွက်တိုင်းတွင် မှတ်တမ်းတင်မည်ကို သတ်မှတ်ခြင်း။</li> <li><strong><code>model</code> (argument in <code>GRPOTrainer</code>)</strong>: အသုံးပြုမည့် base model ၏ identifier သို့မဟုတ် instance။</li> <li><strong><code>args</code> (argument in <code>GRPOTrainer</code>)</strong>: training configuration arguments များ။</li> <li><strong><code>train_dataset</code></strong>: training အတွက် အသုံးပြုမည့် dataset။</li> <li><strong><code>reward_funcs</code></strong>: reward function (များ)။</li> <li><strong><code>trainer.train()</code></strong>: training process ကို စတင်ရန် method။</li> <li><strong>Prompts</strong>: model ကို တုံ့ပြန်စေလိုသော စာသား input များ။</li> <li><strong><code>re</code> Module</strong>: Python ၏ regular expression module။</li> <li><strong><code>re.match()</code></strong>: string ၏ အစမှ pattern ကို ကိုက်ညီမှုရှိမရှိ စစ်ဆေးရန် function။</li> <li><strong><code>num_generation</code></strong>: prompt တစ်ခုစီအတွက် model က ထုတ်လုပ်မည့် completions အရေအတွက်။ ၎င်းသည် GRPO ၏ group size ဖြစ်သည်။</li> <li><strong>RL Methods (Reinforcement Learning Methods)</strong>: trial-and-error မှတစ်ဆင့် သင်ယူပြီး reward အများဆုံးရရှိရန် ကြိုးစားသော Machine Learning algorithms များ။</li> <li><strong>Diversity</strong>: ထုတ်လုပ်လိုက်သော completions များ၏ ကွဲပြားမှု။</li> <li><strong>Computational Efficiency</strong>: တွက်ချက်မှုအရင်းအမြစ်များကို မည်မျှထိရောက်စွာ အသုံးပြုသည်ကို ဆိုလိုသည်။</li> <li><strong>Computational Cost</strong>: တွက်ချက်မှု လုပ်ဆောင်ရန် လိုအပ်သော အချိန်နှင့် အရင်းအမြစ်များ။</li> <li><strong>Reasoning Tasks</strong>: အကြောင်းပြချက်၊ ဆင်ခြင်တုံတရား လိုအပ်သော လုပ်ငန်းများ။</li> <li><strong>Memory Management</strong>: ကွန်ပျူတာ၏ မှတ်ဉာဏ် (memory) အသုံးပြုမှုကို ထိန်းချုပ်ခြင်း။</li> <li><strong>GPU Memory</strong>: Graphics Processing Unit (GPU) တွင်ရှိသော မှတ်ဉာဏ်။</li> <li><strong><code>use_vllm=True</code></strong>: vLLM (a high-throughput inference engine) ကို အသုံးပြု၍ generation ကို အရှိန်မြှင့်ရန်။</li> <li><strong>Logged Metrics</strong>: training လုပ်နေစဉ်အတွင်း မှတ်တမ်းတင်ထားသော တိုင်းတာမှုများ။</li> <li><strong><code>reward</code> (metric)</strong>: completions များ၏ ပျမ်းမျှ reward တန်ဖိုး။</li> <li><strong><code>reward_std</code> (metric)</strong>: reward groups များအတွင်းရှိ rewards များ၏ standard deviation။</li> <li><strong><code>kl</code> (metric)</strong>: KL divergence (Kullback-Leibler divergence) ကို ရည်ညွှန်းပြီး reference model မှ policy က မည်မျှကွာခြားသည်ကို တိုင်းတာသည်။</li> <li><strong>DeepSeek R1 Paper</strong>: DeepSeek R1 model နှင့် ၎င်း၏ training method များကို ဖော်ပြထားသော research paper။</li> <li><strong>Length-Based Reward</strong>: completion ၏ အရှည်ပေါ်မူတည်၍ ပေးသော reward။</li> <li><strong><code>ideal_length</code></strong>: completion အတွက် လိုချင်သော အရှည်။</li> <li><strong><code>abs()</code></strong>: ဂဏန်းတစ်ခု၏ absolute value (အနုတ်လက္ခဏာမပါသော တန်ဖိုး)။</li> <li><strong>Verifiable Tasks</strong>: အဖြေကို တိကျစွာ စစ်ဆေးအတည်ပြုနိုင်သော လုပ်ငန်းများ။</li> <li><strong>Rule-Based Reward Functions</strong>: သတ်မှတ်ထားသော စည်းမျဉ်းများ သို့မဟုတ် အခြေအနေများအပေါ် အခြေခံ၍ reward ပေးသော function များ။</li> <li><strong><code>extract_final_answer()</code></strong>: completion မှ နောက်ဆုံးအဖြေကို ထုတ်ယူရန် ဒီဇိုင်းထုတ်ထားသော function (ဥပမာတွင် ရိုးရှင်းထားသည်)။</li> <li><strong>Binary Reward</strong>: 0 သို့မဟုတ် 1 ကဲ့သို့သော တန်ဖိုးနှစ်ခုသာ ရှိသော reward (မှန်/မှား)။</li> <li><strong>Parsing</strong>: စာသားကို ခွဲခြမ်းစိတ်ဖြာပြီး အဓိပ္ပာယ်ဖော်ခြင်း။</li> <li><strong>Format-Based Rewards</strong>: completion ၏ formatting (ပုံစံချထားမှု) အပေါ်မူတည်၍ ပေးသော reward။</li> <li><strong><code>re.search()</code></strong>: string တစ်ခုအတွင်း pattern ကို ရှာဖွေရန် function။</li> <li><strong><code>re.DOTALL</code></strong>: regular expression flags တစ်ခုဖြစ်ပြီး <code>.</code> (dot) သည် newline character (<code>\\n</code>) အပါအဝင် မည်သည့် character ကိုမဆို ကိုက်ညီစေသည်။</li> <li><strong><code>match.group(1)</code> / <code>match.group(2)</code></strong>: regular expression match object မှ သက်ဆိုင်ရာ capture group ၏ contents များကို ထုတ်ယူခြင်း။</li> <li><strong><code>strip()</code></strong>: string တစ်ခု၏ အစ သို့မဟုတ် အဆုံးရှိ whitespace များကို ဖယ်ရှားခြင်း။</li> <li><strong>Partial Reward</strong>: အပြည့်အဝ reward မဟုတ်ဘဲ တစ်စိတ်တစ်ပိုင်း reward။</li>",re,rl,ie,ol,we;return R=new Pe({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),E=new y({props:{title:"TRL တွင် GRPO ကို အကောင်အထည်ဖော်ခြင်း",local:"implementing-grpo-in-trl",headingTag:"h1"}}),Q=new il({props:{code:"ZnJvbSUyMHRybCUyMGltcG9ydCUyMEdSUE9UcmFpbmVyJTJDJTIwR1JQT0NvbmZpZyUwQWZyb20lMjBkYXRhc2V0cyUyMGltcG9ydCUyMGxvYWRfZGF0YXNldCUwQSUwQSUyMyUyMDEuJTIwJUUxJTgwJTlFJUUxJTgwJTg0JUUxJTgwJUI3JUUxJTgwJUJBJTIwZGF0YXNldCUyMCVFMSU4MCU4MCVFMSU4MCVBRCVFMSU4MCVBRiUyMGxvYWQlMjAlRTElODAlOUMlRTElODAlQUYlRTElODAlOTUlRTElODAlQkElRTElODAlOTUlRTElODAlQUIlMEFkYXRhc2V0JTIwJTNEJTIwbG9hZF9kYXRhc2V0KCUyMnlvdXJfZGF0YXNldCUyMiUyQyUyMHNwbGl0JTNEJTIydHJhaW4lMjIpJTBBJTBBJTBBJTIzJTIwMi4lMjAlRTElODAlOUIlRTElODAlQUQlRTElODAlQUYlRTElODAlQjglRTElODAlOUIlRTElODAlQkUlRTElODAlODQlRTElODAlQkElRTElODAlQjglRTElODAlOUUlRTElODAlQjElRTElODAlQUMlMjByZXdhcmQlMjBmdW5jdGlvbiUyMCVFMSU4MCU5MCVFMSU4MCU4NSVFMSU4MCVCQSVFMSU4MCU4MSVFMSU4MCVBRiVFMSU4MCU4MCVFMSU4MCVBRCVFMSU4MCVBRiUyMCVFMSU4MCU5RSVFMSU4MCU5MCVFMSU4MCVCQSVFMSU4MCU5OSVFMSU4MCVCRSVFMSU4MCU5MCVFMSU4MCVCQSVFMSU4MCU5NSVFMSU4MCVBQiUwQWRlZiUyMHJld2FyZF9mdW5jKGNvbXBsZXRpb25zJTJDJTIwKiprd2FyZ3MpJTNBJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJUUxJTgwJUE1JUUxJTgwJTk1JUUxJTgwJTk5JUUxJTgwJUFDLSUyMCVFMSU4MCU5NSVFMSU4MCVBRCVFMSU4MCVBRiVFMSU4MCU5QiVFMSU4MCVCRSVFMSU4MCU4QSVFMSU4MCVCQSVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyUyMGNvbXBsZXRpb25zJTIwJUUxJTgwJTk5JUUxJTgwJUJCJUUxJTgwJUFDJUUxJTgwJUI4JUUxJTgwJTgwJUUxJTgwJUFEJUUxJTgwJUFGJTIwJUUxJTgwJTg2JUUxJTgwJUFGJUUxJTgwJTgxJUUxJTgwJUJCJUUxJTgwJTk1JUUxJTgwJUFCJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTVCZmxvYXQobGVuKGNvbXBsZXRpb24pKSUyMGZvciUyMGNvbXBsZXRpb24lMjBpbiUyMGNvbXBsZXRpb25zJTVEJTBBJTBBJTBBJTIzJTIwMy4lMjBUcmFpbmluZyUyMCVFMSU4MCU4MCVFMSU4MCVBRCVFMSU4MCVBRiUyMENvbmZpZ3VyZSUyMCVFMSU4MCU5QyVFMSU4MCVBRiVFMSU4MCU5NSVFMSU4MCVCQSVFMSU4MCU5NSVFMSU4MCVBQiUwQXRyYWluaW5nX2FyZ3MlMjAlM0QlMjBHUlBPQ29uZmlnKCUwQSUyMCUyMCUyMCUyMG91dHB1dF9kaXIlM0QlMjJvdXRwdXQlMjIlMkMlMEElMjAlMjAlMjAlMjBudW1fdHJhaW5fZXBvY2hzJTNEMyUyQyUwQSUyMCUyMCUyMCUyMHBlcl9kZXZpY2VfdHJhaW5fYmF0Y2hfc2l6ZSUzRDQlMkMlMEElMjAlMjAlMjAlMjBncmFkaWVudF9hY2N1bXVsYXRpb25fc3RlcHMlM0QyJTJDJTBBJTIwJTIwJTIwJTIwbG9nZ2luZ19zdGVwcyUzRDEwJTJDJTBBKSUwQSUwQSUyMyUyMDQuJTIwJUUxJTgwJTg1JUUxJTgwJTkwJUUxJTgwJTg0JUUxJTgwJUJBJUUxJTgwJTk1JUUxJTgwJUJDJUUxJTgwJUFFJUUxJTgwJUI4JTIwdHJhaW4lMjAlRTElODAlOUMlRTElODAlQUYlRTElODAlOTUlRTElODAlQkElRTElODAlOTUlRTElODAlQUIlMEF0cmFpbmVyJTIwJTNEJTIwR1JQT1RyYWluZXIoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0QlMjJ5b3VyX21vZGVsJTIyJTJDJTIwJTIwJTIzJTIwJUUxJTgwJUE1JUUxJTgwJTk1JUUxJTgwJTk5JUUxJTgwJUFDLSUyMCUyMlF3ZW4lMkZRd2VuMi0wLjVCLUluc3RydWN0JTIyJTBBJTIwJTIwJTIwJTIwYXJncyUzRHRyYWluaW5nX2FyZ3MlMkMlMEElMjAlMjAlMjAlMjB0cmFpbl9kYXRhc2V0JTNEZGF0YXNldCUyQyUwQSUyMCUyMCUyMCUyMHJld2FyZF9mdW5jcyUzRHJld2FyZF9mdW5jJTJDJTBBKSUwQXRyYWluZXIudHJhaW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> trl <span class="hljs-keyword">import</span> GRPOTrainer, GRPOConfig | |
| <span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset | |
| <span class="hljs-comment"># 1. သင့် dataset ကို load လုပ်ပါ</span> | |
| dataset = load_dataset(<span class="hljs-string">"your_dataset"</span>, split=<span class="hljs-string">"train"</span>) | |
| <span class="hljs-comment"># 2. ရိုးရှင်းသော reward function တစ်ခုကို သတ်မှတ်ပါ</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">reward_func</span>(<span class="hljs-params">completions, **kwargs</span>): | |
| <span class="hljs-string">"""ဥပမာ- ပိုရှည်သော completions များကို ဆုချပါ"""</span> | |
| <span class="hljs-keyword">return</span> [<span class="hljs-built_in">float</span>(<span class="hljs-built_in">len</span>(completion)) <span class="hljs-keyword">for</span> completion <span class="hljs-keyword">in</span> completions] | |
| <span class="hljs-comment"># 3. Training ကို Configure လုပ်ပါ</span> | |
| training_args = GRPOConfig( | |
| output_dir=<span class="hljs-string">"output"</span>, | |
| num_train_epochs=<span class="hljs-number">3</span>, | |
| per_device_train_batch_size=<span class="hljs-number">4</span>, | |
| gradient_accumulation_steps=<span class="hljs-number">2</span>, | |
| logging_steps=<span class="hljs-number">10</span>, | |
| ) | |
| <span class="hljs-comment"># 4. စတင်ပြီး train လုပ်ပါ</span> | |
| trainer = GRPOTrainer( | |
| model=<span class="hljs-string">"your_model"</span>, <span class="hljs-comment"># ဥပမာ- "Qwen/Qwen2-0.5B-Instruct"</span> | |
| args=training_args, | |
| train_dataset=dataset, | |
| reward_funcs=reward_func, | |
| ) | |
| trainer.train()`,wrap:!1}}),x=new y({props:{title:"အဓိက အစိတ်အပိုင်းများ",local:"အဓက-အစတအပငမ",headingTag:"h2"}}),D=new y({props:{title:"၁။ Dataset Format",local:"၁-dataset-format",headingTag:"h3"}}),h=new y({props:{title:"၂။ Reward Function",local:"၂-reward-function",headingTag:"h3"}}),k=new il({props:{code:"JTIzJTIwJUUxJTgwJUE1JUUxJTgwJTk1JUUxJTgwJTk5JUUxJTgwJUFDJTIwJUUxJTgxJTgxLSUyMGNvbXBsZXRpb24lMjAlRTElODAlQTElRTElODAlOUIlRTElODAlQkUlRTElODAlOEElRTElODAlQkElRTElODAlOTUlRTElODAlQjElRTElODAlQUIlRTElODAlQkElRTElODAlOTklRTElODAlQjAlRTElODAlOTAlRTElODAlOEElRTElODAlQkElRTElODAlOUUlRTElODAlQjElRTElODAlQUMlMjByZXdhcmQlMEFkZWYlMjByZXdhcmRfbGVuZ3RoKGNvbXBsZXRpb25zJTJDJTIwKiprd2FyZ3MpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTVCZmxvYXQobGVuKGNvbXBsZXRpb24pKSUyMGZvciUyMGNvbXBsZXRpb24lMjBpbiUyMGNvbXBsZXRpb25zJTVEJTBBJTBBJTBBJTIzJTIwJUUxJTgwJUE1JUUxJTgwJTk1JUUxJTgwJTk5JUUxJTgwJUFDJTIwJUUxJTgxJTgyLSUyMHBhdHRlcm4lMjAlRTElODAlODAlRTElODAlQUQlRTElODAlQUYlMjAlRTElODAlODAlRTElODAlQUQlRTElODAlQUYlRTElODAlODAlRTElODAlQkElRTElODAlOEElRTElODAlQUUlRTElODAlOTklRTElODAlQkUlRTElODAlQUYlRTElODAlQTElRTElODAlOTUlRTElODAlQjElRTElODAlQUIlRTElODAlQkElRTElODAlOTklRTElODAlQjAlRTElODAlOTAlRTElODAlOEElRTElODAlQkElRTElODAlOUUlRTElODAlQjElRTElODAlQUMlMjByZXdhcmQlMEFpbXBvcnQlMjByZSUwQSUwQSUwQWRlZiUyMHJld2FyZF9mb3JtYXQoY29tcGxldGlvbnMlMkMlMjAqKmt3YXJncyklM0ElMEElMjAlMjAlMjAlMjBwYXR0ZXJuJTIwJTNEJTIwciUyMiU1RSUzQ3RoaW5rJTNFLiolM0YlM0MlMkZ0aGluayUzRSUzQ2Fuc3dlciUzRS4qJTNGJTNDJTJGYW5zd2VyJTNFJTI0JTIyJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTVCMS4wJTIwaWYlMjByZS5tYXRjaChwYXR0ZXJuJTJDJTIwYyklMjBlbHNlJTIwMC4wJTIwZm9yJTIwYyUyMGluJTIwY29tcGxldGlvbnMlNUQ=",highlighted:`<span class="hljs-comment"># ဥပမာ ၁- completion အရှည်ပေါ်မူတည်သော reward</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">reward_length</span>(<span class="hljs-params">completions, **kwargs</span>): | |
| <span class="hljs-keyword">return</span> [<span class="hljs-built_in">float</span>(<span class="hljs-built_in">len</span>(completion)) <span class="hljs-keyword">for</span> completion <span class="hljs-keyword">in</span> completions] | |
| <span class="hljs-comment"># ဥပမာ ၂- pattern ကို ကိုက်ညီမှုအပေါ်မူတည်သော reward</span> | |
| <span class="hljs-keyword">import</span> re | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">reward_format</span>(<span class="hljs-params">completions, **kwargs</span>): | |
| pattern = <span class="hljs-string">r"^<think>.*?</think><answer>.*?</answer>$"</span> | |
| <span class="hljs-keyword">return</span> [<span class="hljs-number">1.0</span> <span class="hljs-keyword">if</span> re.<span class="hljs-keyword">match</span>(pattern, c) <span class="hljs-keyword">else</span> <span class="hljs-number">0.0</span> <span class="hljs-keyword">for</span> c <span class="hljs-keyword">in</span> completions]`,wrap:!1}}),b=new y({props:{title:"၃။ Training Configuration",local:"၃-training-configuration",headingTag:"h3"}}),$=new il({props:{code:"dHJhaW5pbmdfYXJncyUyMCUzRCUyMEdSUE9Db25maWcoJTBBJTIwJTIwJTIwJTIwJTIzJTIwJUUxJTgwJTk5JUUxJTgwJTlCJUUxJTgwJUJFJUUxJTgwJUFEJUUxJTgwJTk5JUUxJTgwJTk2JUUxJTgwJUJDJUUxJTgwJTg1JUUxJTgwJUJBJUUxJTgwJTlDJUUxJTgwJUFEJUUxJTgwJUFGJUUxJTgwJUExJUUxJTgwJTk1JUUxJTgwJUJBJUUxJTgwJTlFJUUxJTgwJUIxJUUxJTgwJUFDJTIwcGFyYW1ldGVycyUyMCVFMSU4MCU5OSVFMSU4MCVCQiVFMSU4MCVBQyVFMSU4MCVCOCUwQSUyMCUyMCUyMCUyMG91dHB1dF9kaXIlM0QlMjJvdXRwdXQlMjIlMkMlMEElMjAlMjAlMjAlMjBudW1fdHJhaW5fZXBvY2hzJTNEMyUyQyUwQSUyMCUyMCUyMCUyMG51bV9nZW5lcmF0aW9uJTNENCUyQyUyMCUyMCUyMyUyMHByb21wdCUyMCVFMSU4MCU5MCVFMSU4MCU4NSVFMSU4MCVCQSVFMSU4MCU4MSVFMSU4MCVBRiVFMSU4MCU4NSVFMSU4MCVBRSVFMSU4MCVBMSVFMSU4MCU5MCVFMSU4MCVCRCVFMSU4MCU4MCVFMSU4MCVCQSUyMCVFMSU4MCU5MSVFMSU4MCVBRiVFMSU4MCU5MCVFMSU4MCVCQSVFMSU4MCU5QyVFMSU4MCVBRiVFMSU4MCU5NSVFMSU4MCVCQSVFMSU4MCU5OSVFMSU4MCU4QSVFMSU4MCVCNyVFMSU4MCVCQSUyMGNvbXBsZXRpb25zJTIwJUUxJTgwJUExJUUxJTgwJTlCJUUxJTgwJUIxJUUxJTgwJUExJUUxJTgwJTkwJUUxJTgwJUJEJUUxJTgwJTgwJUUxJTgwJUJBJTBBJTIwJTIwJTIwJTIwcGVyX2RldmljZV90cmFpbl9iYXRjaF9zaXplJTNENCUyQyUyMCUyMCUyMyUyMGdlbmVyYXRpb25zJTIwJUUxJTgwJUExJUUxJTgwJUFDJUUxJTgwJUI4JUUxJTgwJTlDJUUxJTgwJUFGJUUxJTgwJUI2JUUxJTgwJUI4JUUxJTgwJTgwJUUxJTgwJUFEJUUxJTgwJUFGJTIwZGV2aWNlJTIwYmF0Y2glMjAlRTElODAlOTAlRTElODAlODUlRTElODAlQkElRTElODAlODElRTElODAlQUYlRTElODAlOTAlRTElODAlOEElRTElODAlQkElRTElODAlQjglRTElODAlOTklRTElODAlQkUlRTElODAlQUMlMjAlRTElODAlOUIlRTElODAlOUElRTElODAlQjAlRTElODAlOUMlRTElODAlQUQlRTElODAlQUYlRTElODAlOTUlRTElODAlQUIlRTElODAlOUUlRTElODAlOEElRTElODAlQkElRTElODElOEIlMEElMjAlMjAlMjAlMjAlMjMlMjAlRTElODAlOUIlRTElODAlQkQlRTElODAlQjElRTElODAlQjglRTElODAlODElRTElODAlQkIlRTElODAlOUElRTElODAlQkElRTElODAlOTQlRTElODAlQUQlRTElODAlQUYlRTElODAlODQlRTElODAlQkElRTElODAlOUUlRTElODAlQjElRTElODAlQUMlMjAlRTElODAlOUUlRTElODAlQUQlRTElODAlQUYlRTElODAlQjclRTElODAlOUUlRTElODAlQjElRTElODAlQUMlRTElODAlQkElMjAlRTElODAlQTElRTElODAlOUUlRTElODAlQUYlRTElODAlQjYlRTElODAlQjglRTElODAlOUQlRTElODAlODQlRTElODAlQkElRTElODAlOUUlRTElODAlQjElRTElODAlQUMlMEElMjAlMjAlMjAlMjBncmFkaWVudF9hY2N1bXVsYXRpb25fc3RlcHMlM0QyJTJDJTBBJTIwJTIwJTIwJTIwbGVhcm5pbmdfcmF0ZSUzRDFlLTUlMkMlMEElMjAlMjAlMjAlMjBsb2dnaW5nX3N0ZXBzJTNEMTAlMkMlMEElMjAlMjAlMjAlMjAlMjMlMjBHUlBPJTIwJUUxJTgwJUExJUUxJTgwJTkwJUUxJTgwJUJEJUUxJTgwJTgwJUUxJTgwJUJBJTIwJUUxJTgwJTlFJUUxJTgwJUFFJUUxJTgwJUI4JUUxJTgwJTgxJUUxJTgwJUJDJUUxJTgwJUFDJUUxJTgwJUI4JTIwKCVFMSU4MCU5QiVFMSU4MCVCRCVFMSU4MCVCMSVFMSU4MCVCOCVFMSU4MCU4MSVFMSU4MCVCQiVFMSU4MCU5QSVFMSU4MCVCQSVFMSU4MCU5NCVFMSU4MCVBRCVFMSU4MCVBRiVFMSU4MCU4NCVFMSU4MCVCQSVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyklMEElMjAlMjAlMjAlMjB1c2VfdmxsbSUzRFRydWUlMkMlMjAlMjAlMjMlMjBnZW5lcmF0aW9uJTIwJUUxJTgwJTgwJUUxJTgwJUFEJUUxJTgwJUFGJTIwJUUxJTgwJUExJUUxJTgwJTlCJUUxJTgwJUJFJUUxJTgwJUFEJUUxJTgwJTk0JUUxJTgwJUJBJUUxJTgwJTk5JUUxJTgwJUJDJUUxJTgwJUJFJUUxJTgwJTg0JUUxJTgwJUI3JUUxJTgwJUJBJUUxJTgwJTlCJUUxJTgwJTk0JUUxJTgwJUJBJTBBKQ==",highlighted:`training_args = GRPOConfig( | |
| <span class="hljs-comment"># မရှိမဖြစ်လိုအပ်သော parameters များ</span> | |
| output_dir=<span class="hljs-string">"output"</span>, | |
| num_train_epochs=<span class="hljs-number">3</span>, | |
| num_generation=<span class="hljs-number">4</span>, <span class="hljs-comment"># prompt တစ်ခုစီအတွက် ထုတ်လုပ်မည့် completions အရေအတွက်</span> | |
| per_device_train_batch_size=<span class="hljs-number">4</span>, <span class="hljs-comment"># generations အားလုံးကို device batch တစ်ခုတည်းမှာ ရယူလိုပါသည်။</span> | |
| <span class="hljs-comment"># ရွေးချယ်နိုင်သော သို့သော် အသုံးဝင်သော</span> | |
| gradient_accumulation_steps=<span class="hljs-number">2</span>, | |
| learning_rate=<span class="hljs-number">1e-5</span>, | |
| logging_steps=<span class="hljs-number">10</span>, | |
| <span class="hljs-comment"># GRPO အတွက် သီးခြား (ရွေးချယ်နိုင်သော)</span> | |
| use_vllm=<span class="hljs-literal">True</span>, <span class="hljs-comment"># generation ကို အရှိန်မြှင့်ရန်</span> | |
| )`,wrap:!1}}),Z=new y({props:{title:"အောင်မြင်မှုအတွက် အကြံပြုချက်များ",local:"အငမငမအတက-အကပခကမ",headingTag:"h2"}}),L=new y({props:{title:"Reward Function ဒီဇိုင်း",local:"reward-function-ဒဇင",headingTag:"h2"}}),P=new y({props:{title:"၁။ Length-Based Rewards",local:"၁-length-based-rewards",headingTag:"h3"}}),W=new il({props:{code:"ZGVmJTIwcmV3YXJkX2xlbihjb21wbGV0aW9ucyUyQyUyMCoqa3dhcmdzKSUzQSUwQSUyMCUyMCUyMCUyMGlkZWFsX2xlbmd0aCUyMCUzRCUyMDIwJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTVCLWFicyhpZGVhbF9sZW5ndGglMjAtJTIwbGVuKGNvbXBsZXRpb24pKSUyMGZvciUyMGNvbXBsZXRpb24lMjBpbiUyMGNvbXBsZXRpb25zJTVE",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">reward_len</span>(<span class="hljs-params">completions, **kwargs</span>): | |
| ideal_length = <span class="hljs-number">20</span> | |
| <span class="hljs-keyword">return</span> [-<span class="hljs-built_in">abs</span>(ideal_length - <span class="hljs-built_in">len</span>(completion)) <span class="hljs-keyword">for</span> completion <span class="hljs-keyword">in</span> completions]`,wrap:!1}}),K=new y({props:{title:"၂။ Verifiable Tasks အတွက် Rule-Based Rewards",local:"၂-verifiable-tasks-အတက-rule-based-rewards",headingTag:"h2"}}),el=new il({props:{code:"ZGVmJTIwcHJvYmxlbV9yZXdhcmQoY29tcGxldGlvbnMlMkMlMjBhbnN3ZXJzJTJDJTIwKiprd2FyZ3MpJTNBJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyVmVyaWZpYWJsZSUyMCVFMSU4MCVBMSVFMSU4MCU5NiVFMSU4MCVCQyVFMSU4MCVCMSVFMSU4MCU5OSVFMSU4MCVCQiVFMSU4MCVBQyVFMSU4MCVCOCVFMSU4MCU5NSVFMSU4MCVBQiVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyUyMCVFMSU4MCU5RSVFMSU4MCU4NCVFMSU4MCVCQSVFMSU4MCVCOSVFMSU4MCU4MSVFMSU4MCVCQiVFMSU4MCVBQyVFMSU4MCU5NSVFMSU4MCVCQyVFMSU4MCVCRiVFMSU4MCU5NCVFMSU4MCVBQyVFMSU4MCU5OSVFMSU4MCVCQiVFMSU4MCVBQyVFMSU4MCVCOCVFMSU4MCVBMSVFMSU4MCU5MCVFMSU4MCVCRCVFMSU4MCU4MCVFMSU4MCVCQSUyMHJld2FyZCUyMGZ1bmN0aW9uJTBBJTIwJTIwJTIwJTIwY29tcGxldGlvbnMlM0ElMjAlRTElODAlQTElRTElODAlODAlRTElODAlQjIlRTElODAlOTYlRTElODAlQkMlRTElODAlOTAlRTElODAlQkElRTElODAlOUIlRTElODAlOTQlRTElODAlQkElMjBjb21wbGV0aW9ucyUyMCVFMSU4MCU4NSVFMSU4MCVBQyVFMSU4MCU5QiVFMSU4MCU4NCVFMSU4MCVCQSVFMSU4MCVCOCUwQSUyMCUyMCUyMCUyMGFuc3dlcnMlM0ElMjBkYXRhc2V0JTIwJUUxJTgwJTk5JUUxJTgwJUJFJTIwJUUxJTgwJTk1JUUxJTgwJUJDJUUxJTgwJUJGJUUxJTgwJTk0JUUxJTgwJUFDJUUxJTgwJTk5JUUxJTgwJUJCJUUxJTgwJUFDJUUxJTgwJUI4JUUxJTgwJUExJUUxJTgwJTkwJUUxJTgwJUJEJUUxJTgwJTgwJUUxJTgwJUJBJTIwJUUxJTgwJUExJUUxJTgwJTk2JUUxJTgwJUJDJUUxJTgwJUIxJUUxJTgwJTk5JUUxJTgwJUJCJUUxJTgwJUFDJUUxJTgwJUI4JUUxJTgwJTg1JUUxJTgwJUFDJUUxJTgwJTlCJUUxJTgwJTg0JUUxJTgwJUJBJUUxJTgwJUI4JTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJTBBJTBBJTIwJTIwJTIwJTIwcmV3YXJkcyUyMCUzRCUyMCU1QiU1RCUwQSUyMCUyMCUyMCUyMGZvciUyMGNvbXBsZXRpb24lMkMlMjBjb3JyZWN0X2Fuc3dlciUyMGluJTIwemlwKGNvbXBsZXRpb25zJTJDJTIwYW5zd2VycyklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBjb21wbGV0aW9uJTIwJUUxJTgwJTk5JUUxJTgwJUJFJTIwJUUxJTgwJUExJUUxJTgwJTk2JUUxJTgwJUJDJUUxJTgwJUIxJUUxJTgwJTgwJUUxJTgwJUFEJUUxJTgwJUFGJTIwJUUxJTgwJTkxJUUxJTgwJUFGJUUxJTgwJTkwJUUxJTgwJUJBJUUxJTgwJTlBJUUxJTgwJUIwJUUxJTgwJTk1JUUxJTgwJUFCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJ5JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUUxJTgwJTkyJUUxJTgwJUFCJUUxJTgwJTgwJTIwJUUxJTgwJTlCJUUxJTgwJUFEJUUxJTgwJUFGJUUxJTgwJUI4JUUxJTgwJTlCJUUxJTgwJUJFJUUxJTgwJTg0JUUxJTgwJUJBJUUxJTgwJUI4JUUxJTgwJTkwJUUxJTgwJUIyJUUxJTgwJUI3JTIwJUUxJTgwJUE1JUUxJTgwJTk1JUUxJTgwJTk5JUUxJTgwJUFDJUUxJTgwJTkwJUUxJTgwJTg1JUUxJTgwJUJBJUUxJTgwJTgxJUUxJTgwJUFGJUUxJTgwJTk1JUUxJTgwJUFCJTIwLSUyMCVFMSU4MCU5RSVFMSU4MCU4NCVFMSU4MCVCNyVFMSU4MCVCQSVFMSU4MCU5QyVFMSU4MCVCQiVFMSU4MCVCMSVFMSU4MCVBQyVFMSU4MCVCQSVFMSU4MCU5MCVFMSU4MCVCMiVFMSU4MCVCNyUyMHBhcnNpbmclMjAlRTElODAlOUMlRTElODAlQUQlRTElODAlQUYlRTElODAlQTElRTElODAlOTUlRTElODAlQkElRTElODAlOTUlRTElODAlQUIlRTElODAlOUMlRTElODAlQUQlRTElODAlOTklRTElODAlQjclRTElODAlQkElRTElODAlOTklRTElODAlOUElRTElODAlQkElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBhbnN3ZXIlMjAlM0QlMjBleHRyYWN0X2ZpbmFsX2Fuc3dlcihjb21wbGV0aW9uKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMEJpbmFyeSUyMHJld2FyZCUzQSUyMCVFMSU4MCU5OSVFMSU4MCVCRSVFMSU4MCU5NCVFMSU4MCVCQSVFMSU4MCU5QiVFMSU4MCU4NCVFMSU4MCVCQSUyMDElRTElODElOEElMjAlRTElODAlOTklRTElODAlQkUlRTElODAlQUMlRTElODAlQjglRTElODAlOUIlRTElODAlODQlRTElODAlQkElMjAwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV3YXJkJTIwJTNEJTIwMS4wJTIwaWYlMjBhbnN3ZXIlMjAlM0QlM0QlMjBjb3JyZWN0X2Fuc3dlciUyMGVsc2UlMjAwLjAlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXdhcmRzLmFwcGVuZChyZXdhcmQpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhjZXB0JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUUxJTgwJUExJUUxJTgwJTk2JUUxJTgwJUJDJUUxJTgwJUIxJUUxJTgwJTgwJUUxJTgwJUFEJUUxJTgwJUFGJTIwcGFyc2UlMjAlRTElODAlOTklRTElODAlOUMlRTElODAlQUYlRTElODAlOTUlRTElODAlQkElRTElODAlOTQlRTElODAlQUQlRTElODAlQUYlRTElODAlODQlRTElODAlQkElRTElODAlOUIlRTElODAlODQlRTElODAlQkElRTElODElOEElMjByZXdhcmQlMjAlRTElODAlOTQlRTElODAlOEElRTElODAlQkElRTElODAlQjglRTElODAlOTQlRTElODAlOEElRTElODAlQkElRTElODAlQjglMjAlRTElODAlOTUlRTElODAlQjElRTElODAlQjglRTElODAlOTUlRTElODAlQUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXdhcmRzLmFwcGVuZCgwLjApJTBBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwcmV3YXJkcw==",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">problem_reward</span>(<span class="hljs-params">completions, answers, **kwargs</span>): | |
| <span class="hljs-string">"""Verifiable အဖြေများပါသော သင်္ချာပြဿနာများအတွက် reward function | |
| completions: အကဲဖြတ်ရန် completions စာရင်း | |
| answers: dataset မှ ပြဿနာများအတွက် အဖြေများစာရင်း | |
| """</span> | |
| rewards = [] | |
| <span class="hljs-keyword">for</span> completion, correct_answer <span class="hljs-keyword">in</span> <span class="hljs-built_in">zip</span>(completions, answers): | |
| <span class="hljs-comment"># completion မှ အဖြေကို ထုတ်ယူပါ</span> | |
| <span class="hljs-keyword">try</span>: | |
| <span class="hljs-comment"># ဒါက ရိုးရှင်းတဲ့ ဥပမာတစ်ခုပါ - သင့်လျော်တဲ့ parsing လိုအပ်ပါလိမ့်မယ်</span> | |
| answer = extract_final_answer(completion) | |
| <span class="hljs-comment"># Binary reward: မှန်ရင် 1၊ မှားရင် 0</span> | |
| reward = <span class="hljs-number">1.0</span> <span class="hljs-keyword">if</span> answer == correct_answer <span class="hljs-keyword">else</span> <span class="hljs-number">0.0</span> | |
| rewards.append(reward) | |
| <span class="hljs-keyword">except</span>: | |
| <span class="hljs-comment"># အဖြေကို parse မလုပ်နိုင်ရင်၊ reward နည်းနည်း ပေးပါ</span> | |
| rewards.append(<span class="hljs-number">0.0</span>) | |
| <span class="hljs-keyword">return</span> rewards`,wrap:!1}}),tl=new y({props:{title:"၃။ Format-Based Rewards",local:"၃-format-based-rewards",headingTag:"h2"}}),sl=new il({props:{code:"ZGVmJTIwZm9ybWF0X3Jld2FyZChjb21wbGV0aW9ucyUyQyUyMCoqa3dhcmdzKSUzQSUwQSUyMCUyMCUyMCUyMCUyMiUyMiUyMiVFMSU4MCU5QyVFMSU4MCVBRCVFMSU4MCVBRiVFMSU4MCU4MSVFMSU4MCVCQiVFMSU4MCU4NCVFMSU4MCVCQSVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyUyMGZvcm1hdCUyMCVFMSU4MCU4MCVFMSU4MCVBRCVFMSU4MCVBRiUyMCVFMSU4MCU5QyVFMSU4MCVBRCVFMSU4MCVBRiVFMSU4MCU4MCVFMSU4MCVCQSVFMSU4MCU5NCVFMSU4MCVBQyVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyUyMGNvbXBsZXRpb25zJTIwJUUxJTgwJTk5JUUxJTgwJUJCJUUxJTgwJUFDJUUxJTgwJUI4JUUxJTgwJTgwJUUxJTgwJUFEJUUxJTgwJUFGJTIwJUUxJTgwJTg2JUUxJTgwJUFGJUUxJTgwJTgxJUUxJTgwJUJCJUUxJTgwJTk1JUUxJTgwJUFCJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwJTIzJTIwJUUxJTgwJUE1JUUxJTgwJTk1JUUxJTgwJTk5JUUxJTgwJUFDLSUyMGNvbXBsZXRpb24lMjAlRTElODAlODAlMjB0aGluay10aGVuLWFuc3dlciUyMGZvcm1hdCUyMCVFMSU4MCU4MCVFMSU4MCVBRCVFMSU4MCVBRiUyMCVFMSU4MCU5QyVFMSU4MCVBRCVFMSU4MCVBRiVFMSU4MCU4MCVFMSU4MCVCQSVFMSU4MCU5NCVFMSU4MCVBQyVFMSU4MCU4MSVFMSU4MCVCQyVFMSU4MCU4NCVFMSU4MCVCQSVFMSU4MCVCOCVFMSU4MCU5QiVFMSU4MCVCRSVFMSU4MCVBRCVFMSU4MCU5OSVFMSU4MCU5QiVFMSU4MCVCRSVFMSU4MCVBRCUyMCVFMSU4MCU4NSVFMSU4MCU4NSVFMSU4MCVCQSVFMSU4MCU4NiVFMSU4MCVCMSVFMSU4MCVCOCVFMSU4MCU5NSVFMSU4MCVBQiUwQSUyMCUyMCUyMCUyMHBhdHRlcm4lMjAlM0QlMjByJTIyJTNDdGhpbmslM0UoLiolM0YpJTNDJTJGdGhpbmslM0UlNUNzKiUzQ2Fuc3dlciUzRSguKiUzRiklM0MlMkZhbnN3ZXIlM0UlMjIlMEElMEElMjAlMjAlMjAlMjByZXdhcmRzJTIwJTNEJTIwJTVCJTVEJTBBJTIwJTIwJTIwJTIwZm9yJTIwY29tcGxldGlvbiUyMGluJTIwY29tcGxldGlvbnMlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtYXRjaCUyMCUzRCUyMHJlLnNlYXJjaChwYXR0ZXJuJTJDJTIwY29tcGxldGlvbiUyQyUyMHJlLkRPVEFMTCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG1hdGNoJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwc2VjdGlvbnMlMjAlRTElODAlOTQlRTElODAlQkUlRTElODAlODUlRTElODAlQkElRTElODAlODElRTElODAlQUYlRTElODAlOUMlRTElODAlQUYlRTElODAlQjYlRTElODAlQjglRTElODAlOTklRTElODAlQkUlRTElODAlQUMlMjAlRTElODAlQTElRTElODAlOTMlRTElODAlQUQlRTElODAlODAlMjAlRTElODAlQTElRTElODAlODAlRTElODAlQkMlRTElODAlQjElRTElODAlQUMlRTElODAlODQlRTElODAlQkElRTElODAlQjglRTElODAlQTElRTElODAlOUIlRTElODAlQUMlRTElODAlOTklRTElODAlQkIlRTElODAlQUMlRTElODAlQjglMjAlRTElODAlOUIlRTElODAlQkUlRTElODAlQUQlRTElODAlOTklRTElODAlOUIlRTElODAlQkUlRTElODAlQUQlMjAlRTElODAlODUlRTElODAlODUlRTElODAlQkElRTElODAlODYlRTElODAlQjElRTElODAlQjglRTElODAlOTUlRTElODAlQUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0aGlua19jb250ZW50JTIwJTNEJTIwbWF0Y2guZ3JvdXAoMSkuc3RyaXAoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFuc3dlcl9jb250ZW50JTIwJTNEJTIwbWF0Y2guZ3JvdXAoMikuc3RyaXAoKSUwQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbGVuKHRoaW5rX2NvbnRlbnQpJTIwJTNFJTIwMjAlMjBhbmQlMjBsZW4oYW5zd2VyX2NvbnRlbnQpJTIwJTNFJTIwMCUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJld2FyZHMuYXBwZW5kKDEuMCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbHNlJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV3YXJkcy5hcHBlbmQoJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwMC41JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKSUyMCUyMCUyMyUyMCVFMSU4MCU5OSVFMSU4MCVCRSVFMSU4MCU5NCVFMSU4MCVCQSVFMSU4MCU4MCVFMSU4MCU5NCVFMSU4MCVCQSVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyUyMGZvcm1hdCUyMCVFMSU4MCU5NiVFMSU4MCVCQyVFMSU4MCU4NSVFMSU4MCVCQSVFMSU4MCU5RSVFMSU4MCVCMSVFMSU4MCVBQyVFMSU4MCVCQSVFMSU4MCU5QyVFMSU4MCU4QSVFMSU4MCVCQSVFMSU4MCVCOCUyMCVFMSU4MCVBMSVFMSU4MCU4MCVFMSU4MCVCQyVFMSU4MCVCMSVFMSU4MCVBQyVFMSU4MCU4NCVFMSU4MCVCQSVFMSU4MCVCOCVFMSU4MCVBMSVFMSU4MCU5QiVFMSU4MCVBQyUyMCVFMSU4MCU5NCVFMSU4MCU4QSVFMSU4MCVCQSVFMSU4MCVCOCVFMSU4MCU5NSVFMSU4MCVBQiVFMSU4MCVCOCVFMSU4MCU5NSVFMSU4MCVBQiVFMSU4MCU4MCUyMHBhcnRpYWwlMjByZXdhcmQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbHNlJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV3YXJkcy5hcHBlbmQoMC4wKSUyMCUyMCUyMyUyMGZvcm1hdCUyMCVFMSU4MCU5OSVFMSU4MCU5OSVFMSU4MCVCRSVFMSU4MCU5NCVFMSU4MCVCQSVFMSU4MCU4MCUyMHJld2FyZCUyMCVFMSU4MCU5OSVFMSU4MCU5NSVFMSU4MCVCMSVFMSU4MCVCOCVFMSU4MCU5NSVFMSU4MCVBQiUwQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMHJld2FyZHM=",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">format_reward</span>(<span class="hljs-params">completions, **kwargs</span>): | |
| <span class="hljs-string">"""လိုချင်သော format ကို လိုက်နာသော completions များကို ဆုချပါ"""</span> | |
| <span class="hljs-comment"># ဥပမာ- completion က think-then-answer format ကို လိုက်နာခြင်းရှိမရှိ စစ်ဆေးပါ</span> | |
| pattern = <span class="hljs-string">r"<think>(.*?)</think>\\s*<answer>(.*?)</answer>"</span> | |
| rewards = [] | |
| <span class="hljs-keyword">for</span> completion <span class="hljs-keyword">in</span> completions: | |
| <span class="hljs-keyword">match</span> = re.search(pattern, completion, re.DOTALL) | |
| <span class="hljs-keyword">if</span> <span class="hljs-keyword">match</span>: | |
| <span class="hljs-comment"># sections နှစ်ခုလုံးမှာ အဓိက အကြောင်းအရာများ ရှိမရှိ စစ်ဆေးပါ</span> | |
| think_content = <span class="hljs-keyword">match</span>.group(<span class="hljs-number">1</span>).strip() | |
| answer_content = <span class="hljs-keyword">match</span>.group(<span class="hljs-number">2</span>).strip() | |
| <span class="hljs-keyword">if</span> <span class="hljs-built_in">len</span>(think_content) > <span class="hljs-number">20</span> <span class="hljs-keyword">and</span> <span class="hljs-built_in">len</span>(answer_content) > <span class="hljs-number">0</span>: | |
| rewards.append(<span class="hljs-number">1.0</span>) | |
| <span class="hljs-keyword">else</span>: | |
| rewards.append( | |
| <span class="hljs-number">0.5</span> | |
| ) <span class="hljs-comment"># မှန်ကန်သော format ဖြစ်သော်လည်း အကြောင်းအရာ နည်းပါးပါက partial reward</span> | |
| <span class="hljs-keyword">else</span>: | |
| rewards.append(<span class="hljs-number">0.0</span>) <span class="hljs-comment"># format မမှန်က reward မပေးပါ</span> | |
| <span class="hljs-keyword">return</span> rewards`,wrap:!1}}),Ml=new y({props:{title:"ဒါပါပဲ!",local:"ဒပပ",headingTag:"h2"}}),Tl=new y({props:{title:"ဝေါဟာရ ရှင်းလင်းချက် (Glossary)",local:"ဝဟရ-ရငလငခက-glossary",headingTag:"h2"}}),rl=new He({props:{source:"https://github.com/huggingface/course/blob/main/chapters/my/chapter12/4.mdx"}}),{c(){V=M("meta"),Cl=s(),wl=M("p"),gl=s(),r(R.$$.fragment),cl=s(),r(E.$$.fragment),ml=s(),S=M("p"),S.textContent=Ce,yl=s(),A=M("p"),A.textContent=ge,Vl=s(),d=M("blockquote"),d.innerHTML=ce,dl=s(),F=M("p"),F.textContent=me,Rl=s(),O=M("ul"),O.innerHTML=ye,El=s(),j=M("p"),j.textContent=Ve,Sl=s(),I=M("ul"),I.innerHTML=de,Al=s(),u=M("p"),u.textContent=Re,Fl=s(),r(Q.$$.fragment),Ol=s(),r(x.$$.fragment),jl=s(),r(D.$$.fragment),Il=s(),f=M("p"),f.textContent=Ee,ul=s(),r(h.$$.fragment),Ql=s(),B=M("p"),B.textContent=Se,xl=s(),r(k.$$.fragment),Dl=s(),r(b.$$.fragment),fl=s(),G=M("p"),G.innerHTML=Ae,hl=s(),r($.$$.fragment),Bl=s(),_=M("p"),_.innerHTML=Fe,kl=s(),v=M("ul"),v.innerHTML=Oe,bl=s(),X=M("p"),X.textContent=je,Gl=s(),r(Z.$$.fragment),$l=s(),N=M("p"),N.innerHTML=Ie,_l=s(),Y=M("ul"),Y.innerHTML=ue,vl=s(),r(L.$$.fragment),Xl=s(),z=M("p"),z.textContent=Qe,Zl=s(),r(P.$$.fragment),Nl=s(),H=M("p"),H.textContent=xe,Yl=s(),r(W.$$.fragment),Ll=s(),q=M("p"),q.textContent=De,zl=s(),g=M("iframe"),Pl=s(),r(K.$$.fragment),Hl=s(),ll=M("p"),ll.textContent=he,Wl=s(),r(el.$$.fragment),ql=s(),c=M("iframe"),Kl=s(),r(tl.$$.fragment),le=s(),Ul=M("p"),Ul.textContent=ke,ee=s(),r(sl.$$.fragment),te=s(),m=M("iframe"),Ue=s(),Jl=M("p"),Jl.textContent=Ge,se=s(),r(Ml.$$.fragment),Je=s(),nl=M("p"),nl.textContent=$e,Me=s(),ne=M("hr"),Te=s(),r(Tl.$$.fragment),ae=s(),al=M("ul"),al.innerHTML=_e,re=s(),r(rl.$$.fragment),ie=s(),ol=M("p"),this.h()},l(l){const e=Le("svelte-u9bgzb",document.head);V=n(e,"META",{name:!0,content:!0}),e.forEach(t),Cl=J(l),wl=n(l,"P",{}),pl(wl).forEach(t),gl=J(l),i(R.$$.fragment,l),cl=J(l),i(E.$$.fragment,l),ml=J(l),S=n(l,"P",{"data-svelte-h":!0}),T(S)!=="svelte-ut8yz8"&&(S.textContent=Ce),yl=J(l),A=n(l,"P",{"data-svelte-h":!0}),T(A)!=="svelte-1v6b3yr"&&(A.textContent=ge),Vl=J(l),d=n(l,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),T(d)!=="svelte-1vg1vtz"&&(d.innerHTML=ce),dl=J(l),F=n(l,"P",{"data-svelte-h":!0}),T(F)!=="svelte-j0e1y5"&&(F.textContent=me),Rl=J(l),O=n(l,"UL",{"data-svelte-h":!0}),T(O)!=="svelte-1htq713"&&(O.innerHTML=ye),El=J(l),j=n(l,"P",{"data-svelte-h":!0}),T(j)!=="svelte-1s61muj"&&(j.textContent=Ve),Sl=J(l),I=n(l,"UL",{"data-svelte-h":!0}),T(I)!=="svelte-4xzpam"&&(I.innerHTML=de),Al=J(l),u=n(l,"P",{"data-svelte-h":!0}),T(u)!=="svelte-sx3u1v"&&(u.textContent=Re),Fl=J(l),i(Q.$$.fragment,l),Ol=J(l),i(x.$$.fragment,l),jl=J(l),i(D.$$.fragment,l),Il=J(l),f=n(l,"P",{"data-svelte-h":!0}),T(f)!=="svelte-yzpay0"&&(f.textContent=Ee),ul=J(l),i(h.$$.fragment,l),Ql=J(l),B=n(l,"P",{"data-svelte-h":!0}),T(B)!=="svelte-19sjwwj"&&(B.textContent=Se),xl=J(l),i(k.$$.fragment,l),Dl=J(l),i(b.$$.fragment,l),fl=J(l),G=n(l,"P",{"data-svelte-h":!0}),T(G)!=="svelte-1mit6md"&&(G.innerHTML=Ae),hl=J(l),i($.$$.fragment,l),Bl=J(l),_=n(l,"P",{"data-svelte-h":!0}),T(_)!=="svelte-1cie4om"&&(_.innerHTML=Fe),kl=J(l),v=n(l,"UL",{"data-svelte-h":!0}),T(v)!=="svelte-1hqrea5"&&(v.innerHTML=Oe),bl=J(l),X=n(l,"P",{"data-svelte-h":!0}),T(X)!=="svelte-b2ktzd"&&(X.textContent=je),Gl=J(l),i(Z.$$.fragment,l),$l=J(l),N=n(l,"P",{"data-svelte-h":!0}),T(N)!=="svelte-1r9sxzi"&&(N.innerHTML=Ie),_l=J(l),Y=n(l,"UL",{"data-svelte-h":!0}),T(Y)!=="svelte-11ecc13"&&(Y.innerHTML=ue),vl=J(l),i(L.$$.fragment,l),Xl=J(l),z=n(l,"P",{"data-svelte-h":!0}),T(z)!=="svelte-5oefb3"&&(z.textContent=Qe),Zl=J(l),i(P.$$.fragment,l),Nl=J(l),H=n(l,"P",{"data-svelte-h":!0}),T(H)!=="svelte-1lzl5io"&&(H.textContent=xe),Yl=J(l),i(W.$$.fragment,l),Ll=J(l),q=n(l,"P",{"data-svelte-h":!0}),T(q)!=="svelte-1ifkzyn"&&(q.textContent=De),zl=J(l),g=n(l,"IFRAME",{src:!0,title:!0,width:!0,height:!0,frameborder:!0,allow:!0}),pl(g).forEach(t),Pl=J(l),i(K.$$.fragment,l),Hl=J(l),ll=n(l,"P",{"data-svelte-h":!0}),T(ll)!=="svelte-1sk31pc"&&(ll.textContent=he),Wl=J(l),i(el.$$.fragment,l),ql=J(l),c=n(l,"IFRAME",{src:!0,title:!0,width:!0,height:!0,frameborder:!0,allow:!0}),pl(c).forEach(t),Kl=J(l),i(tl.$$.fragment,l),le=J(l),Ul=n(l,"P",{"data-svelte-h":!0}),T(Ul)!=="svelte-1eji1ml"&&(Ul.textContent=ke),ee=J(l),i(sl.$$.fragment,l),te=J(l),m=n(l,"IFRAME",{src:!0,title:!0,width:!0,height:!0,frameborder:!0,allow:!0}),pl(m).forEach(t),Ue=J(l),Jl=n(l,"P",{"data-svelte-h":!0}),T(Jl)!=="svelte-f2nm1d"&&(Jl.textContent=Ge),se=J(l),i(Ml.$$.fragment,l),Je=J(l),nl=n(l,"P",{"data-svelte-h":!0}),T(nl)!=="svelte-hovu4t"&&(nl.textContent=$e),Me=J(l),ne=n(l,"HR",{}),Te=J(l),i(Tl.$$.fragment,l),ae=J(l),al=n(l,"UL",{"data-svelte-h":!0}),T(al)!=="svelte-7vazon"&&(al.innerHTML=_e),re=J(l),i(rl.$$.fragment,l),ie=J(l),ol=n(l,"P",{}),pl(ol).forEach(t),this.h()},h(){a(V,"name","hf:doc:metadata"),a(V,"content",qe),a(d,"class","tip"),oe(g.src,fe="https://marimo.app/gh/huggingface/notebooks/main/e?entrypoint=course%2Fen%2Fchapter13%2Fgrpo_length.py&embed=true&show-chrome=false")||a(g,"src",fe),a(g,"title","Marimo Notebook"),a(g,"width","100%"),a(g,"height","800px"),a(g,"frameborder","0"),a(g,"allow","clipboard-write"),oe(c.src,Be="https://marimo.app/gh/huggingface/notebooks/main/e?entrypoint=course%2Fen%2Fchapter13%2Fgrpo_math.py&embed=true&show-chrome=false")||a(c,"src",Be),a(c,"title","Marimo Notebook"),a(c,"width","100%"),a(c,"height","800px"),a(c,"frameborder","0"),a(c,"allow","clipboard-write"),oe(m.src,be="https://marimo.app/gh/huggingface/notebooks/main/e?entrypoint=course%2Fen%2Fchapter13%2Fgrpo_format.py&embed=true&show-chrome=false")||a(m,"src",be),a(m,"title","Marimo Notebook"),a(m,"width","100%"),a(m,"height","800px"),a(m,"frameborder","0"),a(m,"allow","clipboard-write")},m(l,e){ze(document.head,V),U(l,Cl,e),U(l,wl,e),U(l,gl,e),w(R,l,e),U(l,cl,e),w(E,l,e),U(l,ml,e),U(l,S,e),U(l,yl,e),U(l,A,e),U(l,Vl,e),U(l,d,e),U(l,dl,e),U(l,F,e),U(l,Rl,e),U(l,O,e),U(l,El,e),U(l,j,e),U(l,Sl,e),U(l,I,e),U(l,Al,e),U(l,u,e),U(l,Fl,e),w(Q,l,e),U(l,Ol,e),w(x,l,e),U(l,jl,e),w(D,l,e),U(l,Il,e),U(l,f,e),U(l,ul,e),w(h,l,e),U(l,Ql,e),U(l,B,e),U(l,xl,e),w(k,l,e),U(l,Dl,e),w(b,l,e),U(l,fl,e),U(l,G,e),U(l,hl,e),w($,l,e),U(l,Bl,e),U(l,_,e),U(l,kl,e),U(l,v,e),U(l,bl,e),U(l,X,e),U(l,Gl,e),w(Z,l,e),U(l,$l,e),U(l,N,e),U(l,_l,e),U(l,Y,e),U(l,vl,e),w(L,l,e),U(l,Xl,e),U(l,z,e),U(l,Zl,e),w(P,l,e),U(l,Nl,e),U(l,H,e),U(l,Yl,e),w(W,l,e),U(l,Ll,e),U(l,q,e),U(l,zl,e),U(l,g,e),U(l,Pl,e),w(K,l,e),U(l,Hl,e),U(l,ll,e),U(l,Wl,e),w(el,l,e),U(l,ql,e),U(l,c,e),U(l,Kl,e),w(tl,l,e),U(l,le,e),U(l,Ul,e),U(l,ee,e),w(sl,l,e),U(l,te,e),U(l,m,e),U(l,Ue,e),U(l,Jl,e),U(l,se,e),w(Ml,l,e),U(l,Je,e),U(l,nl,e),U(l,Me,e),U(l,ne,e),U(l,Te,e),w(Tl,l,e),U(l,ae,e),U(l,al,e),U(l,re,e),w(rl,l,e),U(l,ie,e),U(l,ol,e),we=!0},p:Xe,i(l){we||(o(R.$$.fragment,l),o(E.$$.fragment,l),o(Q.$$.fragment,l),o(x.$$.fragment,l),o(D.$$.fragment,l),o(h.$$.fragment,l),o(k.$$.fragment,l),o(b.$$.fragment,l),o($.$$.fragment,l),o(Z.$$.fragment,l),o(L.$$.fragment,l),o(P.$$.fragment,l),o(W.$$.fragment,l),o(K.$$.fragment,l),o(el.$$.fragment,l),o(tl.$$.fragment,l),o(sl.$$.fragment,l),o(Ml.$$.fragment,l),o(Tl.$$.fragment,l),o(rl.$$.fragment,l),we=!0)},o(l){p(R.$$.fragment,l),p(E.$$.fragment,l),p(Q.$$.fragment,l),p(x.$$.fragment,l),p(D.$$.fragment,l),p(h.$$.fragment,l),p(k.$$.fragment,l),p(b.$$.fragment,l),p($.$$.fragment,l),p(Z.$$.fragment,l),p(L.$$.fragment,l),p(P.$$.fragment,l),p(W.$$.fragment,l),p(K.$$.fragment,l),p(el.$$.fragment,l),p(tl.$$.fragment,l),p(sl.$$.fragment,l),p(Ml.$$.fragment,l),p(Tl.$$.fragment,l),p(rl.$$.fragment,l),we=!1},d(l){l&&(t(Cl),t(wl),t(gl),t(cl),t(ml),t(S),t(yl),t(A),t(Vl),t(d),t(dl),t(F),t(Rl),t(O),t(El),t(j),t(Sl),t(I),t(Al),t(u),t(Fl),t(Ol),t(jl),t(Il),t(f),t(ul),t(Ql),t(B),t(xl),t(Dl),t(fl),t(G),t(hl),t(Bl),t(_),t(kl),t(v),t(bl),t(X),t(Gl),t($l),t(N),t(_l),t(Y),t(vl),t(Xl),t(z),t(Zl),t(Nl),t(H),t(Yl),t(Ll),t(q),t(zl),t(g),t(Pl),t(Hl),t(ll),t(Wl),t(ql),t(c),t(Kl),t(le),t(Ul),t(ee),t(te),t(m),t(Ue),t(Jl),t(se),t(Je),t(nl),t(Me),t(ne),t(Te),t(ae),t(al),t(re),t(ie),t(ol)),t(V),C(R,l),C(E,l),C(Q,l),C(x,l),C(D,l),C(h,l),C(k,l),C(b,l),C($,l),C(Z,l),C(L,l),C(P,l),C(W,l),C(K,l),C(el,l),C(tl,l),C(sl,l),C(Ml,l),C(Tl,l),C(rl,l)}}}const qe='{"title":"TRL တွင် GRPO ကို အကောင်အထည်ဖော်ခြင်း","local":"implementing-grpo-in-trl","sections":[{"title":"အဓိက အစိတ်အပိုင်းများ","local":"အဓက-အစတအပငမ","sections":[{"title":"၁။ Dataset Format","local":"၁-dataset-format","sections":[],"depth":3},{"title":"၂။ Reward Function","local":"၂-reward-function","sections":[],"depth":3},{"title":"၃။ Training Configuration","local":"၃-training-configuration","sections":[],"depth":3}],"depth":2},{"title":"အောင်မြင်မှုအတွက် အကြံပြုချက်များ","local":"အငမငမအတက-အကပခကမ","sections":[],"depth":2},{"title":"Reward Function ဒီဇိုင်း","local":"reward-function-ဒဇင","sections":[{"title":"၁။ Length-Based Rewards","local":"၁-length-based-rewards","sections":[],"depth":3}],"depth":2},{"title":"၂။ Verifiable Tasks အတွက် Rule-Based Rewards","local":"၂-verifiable-tasks-အတက-rule-based-rewards","sections":[],"depth":2},{"title":"၃။ Format-Based Rewards","local":"၃-format-based-rewards","sections":[],"depth":2},{"title":"ဒါပါပဲ!","local":"ဒပပ","sections":[],"depth":2},{"title":"ဝေါဟာရ ရှင်းလင်းချက် (Glossary)","local":"ဝဟရ-ရငလငခက-glossary","sections":[],"depth":2}],"depth":1}';function Ke(pe){return Ze(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class st extends Ne{constructor(V){super(),Ye(this,V,Ke,We,ve,{})}}export{st as component}; | |
Xet Storage Details
- Size:
- 57.2 kB
- Xet hash:
- 8d5df2d2ca2ac89f0249c6b65214dc698ce77e33581766c6197087a1a59ba070
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.