એકમો
1. એમએલ એન્જિનિયરિંગમાં કૃત્રિમ બુદ્ધિ: ભૂમિકા, સીમાઓ, માન્યતા અને જવાબદારી 2. ડેટા પાઇપલાઇન: સંગ્રહ, સફાઇ, ટેગિંગ અને સંસ્કરણ 3. મોડલ તાલીમ અને મૂલ્યાંકન: સચોટ મેટ્રિક્સ, પ્રમાણિક બેન્ચમાર્કિંગ 4. LLM એપ્લિકેશન: RAG સાથે તમારા પોતાના ડેટા પર આધારિત જવાબો 5. એલએલએમ એપ્લિકેશન: એજન્ટ, ટૂલિંગ અને સિક્યોર ઓટોમેશન 6. ફાઇન-ટ્યુનિંગ આધાર: ક્યારે, કેવી રીતે અને કયા જોખમ સાથે 7. MLOps અને જમાવટ: મોડલને લેબમાંથી ઉત્પાદનમાં ખસેડવું 8. ઇવલ અને મોનિટરિંગ: ઉત્પાદનમાં મોડેલ ખરેખર શું કરે છે તે જાણવું 9. સુરક્ષા અને ગોપનીયતા: AI સિસ્ટમ્સનો બચાવ 10. પૂર્વગ્રહ, નીતિશાસ્ત્ર અને કિંમત: જવાબદાર અને ટકાઉ AI એન્જિનિયરિંગ 11. પુનઃઉત્પાદનક્ષમતા અને એન્ડ-ટુ-એન્ડ પ્રોજેક્ટ: દરેક વસ્તુનું સંયોજન
એકમ 6 / 11

ફાઇન-ટ્યુનિંગ આધાર: ક્યારે, કેવી રીતે અને કયા જોખમ સાથે

નફો:

  • સમસ્યા માહિતી કે વર્તણૂક છે કે કેમ તે પારખવાની ક્ષમતા અને પ્રોમ્પ્ટ, થોડા-શૉટ અને આરએજી સમાપ્ત થયા પછી જ વર્તણૂકીય સમસ્યાઓ માટે ફાઇન-ટ્યુનિંગનું મૂલ્યાંકન કરવાની ક્ષમતા.
  • ફાઇન-ટ્યુનિંગ પદ્ધતિઓ (SFT, LoRA/PEFT, RLHF) અને ડેટા એટ્રિબ્યુટ્સને સમજવું જે ગુણવત્તા નક્કી કરે છે (સતતતા, વિવિધતા, ગોપનીયતા)
  • મૂલ્યાંકન પહેલાં-પછીના મૂલ્યાંકન, અતિશય શિક્ષણ અને આપત્તિજનક ભૂલી જવાના પરીક્ષણો સાથે ફાઇન-ટ્યુનિંગનું સાચું મૂલ્ય માપવાની ક્ષમતા

ફાઇન-ટ્યુનિંગ (તમારા પોતાના ડેટા સાથે પૂર્વ-પ્રશિક્ષિત મોડેલને વધુ તાલીમ આપીને તેના વર્તનને કસ્ટમાઇઝ કરવું) એ એલએલએમ સાથે કામ કરતા એન્જિનિયરના શસ્ત્રાગારમાં એક શક્તિશાળી પરંતુ ખર્ચાળ સાધન છે. જ્યારે ખોટી જગ્યાએ ઉપયોગ થાય છે, ત્યારે તે પૈસા અને સમયનો વ્યય છે, પરંતુ જ્યારે યોગ્ય જગ્યાએ ઉપયોગ કરવામાં આવે છે, ત્યારે તે એક ગુણવત્તા પ્રદાન કરે છે જે અન્યથા પ્રાપ્ત કરી શકાતી નથી. આ એકમમાં, અમે જ્યારે ફાઈન-ટ્યુનિંગ જરૂરી હોય ત્યારે, તેની મૂળભૂત પદ્ધતિઓ અને જોખમોને આવરી લઈએ છીએ. ધ્યેય તમને નિર્ણય લેવાનું છે.

પ્રથમ સાચો પ્રશ્ન: શું ફાઇન-ટ્યુનિંગ જરૂરી છે?

નવા નિશાળીયાની સૌથી મોંઘી ભૂલ એ છે કે તરત જ ઉકેલી શકાય તેવી સમસ્યાને ફાઇન-ટ્યુનિંગ માટે દોડાવવી. આ રીતે ઓર્ડર સેટ કરો:

  1. પ્રોમ્પ્ટ એન્જિનિયરિંગ: એક સારો પ્રોમ્પ્ટ જે કાર્યને સ્પષ્ટ રીતે સમજાવે છે તે મોટાભાગની સમસ્યાઓનું નિરાકરણ લાવે છે. પહેલા અહીં સેવન કરો.
  2. થોડા-શૉટ લર્નિંગ: પ્રોમ્પ્ટમાં થોડાં ઉદાહરણો મૂકવાથી મોડેલ ઇચ્છિત ફોર્મેટ અને વર્તન દર્શાવે છે.
  3. RAG: જો સમસ્યા "માહિતીનો અભાવ" (ડેટાની જરૂરિયાત જે મોડેલને ખબર નથી) છે, તો ઉકેલ RAG (એકમ 4) છે, ફાઇન-ટ્યુનિંગ નથી.
  4. ફાઇન-ટ્યુનિંગ: જો ઉપરોક્ત પૂરતું ન હોય અને સમસ્યા "વર્તન/ફોર્મેટ/શૈલી" હોય તો તે અમલમાં આવે છે.

મુખ્ય તફાવત: ફાઇન-ટ્યુનિંગ નબળું છે અને મોડેલ નવી માહિતી શીખવવામાં જોખમી છે; પરંતુ કેવી રીતે વર્તવું તે શીખવવામાં તે મજબૂત છે (ચોક્કસ ફોર્મેટ, ટોન, ફીલ્ડ શબ્દકોષ, સુસંગત માળખું). "મારું મોડેલ અમારી કંપનીની માહિતી જાણતું નથી" → RAG. "મારા મોડેલને હંમેશા અમને જોઈતા ચોક્કસ ફોર્મેટમાં આઉટપુટ આપવા દો" → ફાઇન-ટ્યુનિંગ ઉમેદવાર.

ટીપ: ફાઇન-ટ્યુનિંગ પર નિર્ણય લેતા પહેલા, પૂછો: "શું આ જ્ઞાનની સમસ્યા છે કે વર્તનની સમસ્યા?" માહિતીની સમસ્યાઓ આરએજી સાથે વધુ સારી રીતે ઉકેલવામાં આવે છે, વર્તણૂકીય સમસ્યાઓ ફાઇન-ટ્યુનિંગ સાથે વધુ સારી રીતે હલ થાય છે.

ફાઇન-ટ્યુનિંગ પદ્ધતિઓ

સંપૂર્ણ ફાઇન-ટ્યુનિંગ: મોડેલના તમામ પરિમાણોને ફરીથી તાલીમ આપવી. સૌથી શક્તિશાળી પરંતુ સૌથી ખર્ચાળ; તેને મોટા હાર્ડવેર (GPU) અને સાવચેત ડેટાની જરૂર છે. મોટાભાગની ટીમો માટે તે બિનજરૂરી છે.

પરિમાણ-કાર્યક્ષમ ફાઇન-ટ્યુનિંગ (PEFT): પદ્ધતિઓ કે જે મોટાભાગના મોડેલને સ્થિર કરે છે, વધારાના પરિમાણોના માત્ર એક નાના સમૂહને તાલીમ આપે છે. સૌથી સામાન્ય છે LoRA (લો-રેન્ક એડેપ્ટેશન: પ્રશિક્ષણ નાના "એડેપ્ટર" સ્તરો મોડેલમાં ઉમેરવામાં આવે છે). LoRA ઘણી ઓછી મેમરી અને ખર્ચ સાથે, સંપૂર્ણ ફાઇન-ટ્યુનિંગની નજીક પરિણામો પ્રદાન કરે છે; તેથી જ વ્યવહારમાં તે પ્રથમ પસંદગી છે.

સુપરવાઇઝ્ડ ફાઇન-ટ્યુનિંગ (SFT): ઇનપુટ-આદર્શ આઉટપુટ જોડીઓ ધરાવતા ડેટા સાથે મોડેલને "આ ઇનપુટને આ રીતે પ્રતિસાદ આપવા" શીખવવું. તે સૌથી સામાન્ય દૃશ્ય છે.

માનવ પ્રતિસાદ (RLHF) થી મજબૂતીકરણ શિક્ષણ: લોકોના પસંદગીના પ્રતિભાવોમાંથી મોડેલના વર્તનને સંરેખિત કરવું. તે જટિલ અને ખર્ચાળ છે; મોટાભાગની એપ્લિકેશન ટીમોની જરૂરિયાતો SFT દ્વારા પૂરી થાય છે. RLHF ને એક ખ્યાલ તરીકે જાણવું પૂરતું છે.

ડેટા: ફાઇન-ટ્યુનિંગનું હૃદય

ફાઇન-ટ્યુનિંગની ગુણવત્તા સંપૂર્ણપણે તાલીમ ડેટાની ગુણવત્તા પર આધારિત છે. કેટલાક સો ઉચ્ચ ગુણવત્તાવાળા, સાતત્યપૂર્ણ નમૂનાઓ હજારો ઢાળવાળા નમૂનાઓ કરતાં વધુ સારા છે. ડેટા તૈયાર કરતી વખતે:

  • સુસંગતતા: બધા ઉદાહરણો સતત તમને જોઈતા ફોર્મેટ અને ટોન દર્શાવે છે. વિરોધાભાસી ઉદાહરણો મોડેલને મૂંઝવણમાં મૂકે છે.
  • વિવિધતા: ઉદાહરણો વાસ્તવિક ઉપયોગમાં વિવિધતાને આવરી લે છે, પરંતુ એકસમાન નથી.
  • સફાઈ: ખોટો, પક્ષપાતી અથવા છુપાયેલ ડેટા ધરાવતા દાખલાઓ કાયમી ધોરણે મોડેલમાં પસાર થાય છે. ફાઇન-ટ્યુનિંગ ડેટાને કરારની જેમ કાળજીપૂર્વક વાંચવો જોઈએ.
સાવધાન: દરેક પૂર્વગ્રહ, ભૂલ અને છુપાયેલી માહિતી કે જે ફાઇન-ટ્યુનિંગ ડેટા દાખલ કરે છે તે મોડેલમાં કોતરવામાં આવે છે અને તેના આઉટપુટમાં ફરીથી દેખાય છે. તમારા પ્રશિક્ષણ ડેટાને એટલી જ ઝીણવટથી ઓડિટ કરો કે જાણે તમે તેને પ્રકાશિત કરી રહ્યાં હોવ; વ્યક્તિગત ડેટા પોસ્ટ કરશો નહીં.

સમીક્ષા: ફાઇન-ટ્યુનિંગ કામ કર્યું?

ફાઇન-ટ્યુનિંગ પહેલાં, હોલ્ડ-આઉટ ઇવલ સેટ રિઝર્વ કરો અને ફાઇન-ટ્યુનિંગ (બેઝ મૉડલ) વિના મૉડલનો સ્કોર માપો. ફાઇન-ટ્યુનિંગ પછી, તે જ બેંકમાં ફરીથી માપો. તમે સરખામણી કર્યા વિના "તે સારું થયું" એમ કહી શકતા નથી. બે ફાંસો વિશે પણ ધ્યાન રાખો:

  • ઓવરલર્નિંગ: નાના ડેટા સાથે અતિશય તાલીમ આપવાથી મોડેલ તાલીમ ઉદાહરણોને યાદ રાખવાની અને સામાન્ય બનાવવાની ક્ષમતા ગુમાવે છે.
  • આપત્તિજનક ભૂલી જવું: સંકુચિત કાર્ય પર વધુ તાલીમ આપવાથી મોડેલની એકંદર ક્ષમતાઓને નબળી પડી શકે છે. નવી વર્તણૂક પ્રાપ્ત કરતી વખતે જૂની કુશળતા જાળવી રાખવામાં આવે છે કે કેમ તે પરીક્ષણ કરો.

નબળા અભિગમ / મજબૂત અભિગમ

નબળા: "મારી પાસે 3000 ચેટ લોગ છે, ચાલો તે બધાને ફાઇન-ટ્યુનિંગ માટે આપીએ, જેથી મોડેલ અમારી જેમ વાત કરી શકે."

Güçlü: "પ્રથમ મેં 100 વાસ્તવિક કાર્યો સાથે બેઝ મૉડલનું મૂલ્યાંકન કર્યું, સ્કોર નોંધ્યો. મેં માપ્યું કે તે પ્રોમ્પ્ટ્સ અને થોડા-શૉટ્સ વડે કેટલું સુધર્યું — તે પૂરતું ન હતું. પછી 3000 લૉગ્સમાંથી, મેં ઉચ્ચ ગુણવત્તાવાળા, સુસંગત ફોર્મેટવાળા માત્ર 400 નમૂનાઓ પસંદ કર્યા અને સાફ કર્યા અને I-100આરએ સાથે ફરીથી એકસરખા છુપાયેલા ડેટા સાથે માપન કર્યા નહીં. કાર્યો અને એક અલગ પરીક્ષણ સાથે પુષ્ટિ કરી કે સામાન્ય ક્ષમતાઓ અકબંધ છે."

તફાવત: મજબૂત અભિગમ પહેલા વિકલ્પોને ખતમ કરે છે, ચેરી-પિક્સ ડેટા, પહેલા અને પછીના પગલાં અને આડઅસરો માટેના પરીક્ષણો.

ખર્ચ અને જાળવણીની વાસ્તવિકતા

ફાઇન-ટ્યુનિંગ એ એક વખતનું કામ નથી; કાળજી રાખવી એ ફરજ છે. જ્યારે બેઝ મોડલ અપડેટ કરવામાં આવે, ફેરફારની જરૂર હોય અથવા ડેટા ખોવાઈ જાય ત્યારે તેને ફરીથી તાલીમ આપવી જરૂરી બની શકે છે. વધુમાં, ફાઇન-ટ્યુન કરેલ મોડેલને હોસ્ટ કરવાથી વધારાના ખર્ચ અને કામગીરી થાય છે. તે પ્રદાન કરે છે તે ગુણવત્તામાં વધારો સાથે માલિકીની આ કુલ કિંમતની તુલના કરો. મોટાભાગે સારો પ્રોમ્પ્ટ + આરએજી ફાઇન-ટ્યુનિંગ કરતાં સસ્તો અને વધુ લવચીક હોય છે.

ત્રણ નાના કેસો

કેસ 1 - બિનજરૂરી ફાઇન-ટ્યુનિંગ. એક ટીમે એક ખર્ચાળ ફાઇન-ટ્યુનિંગ પ્રોજેક્ટ શરૂ કર્યો કારણ કે "અમારું મોડેલ અમારા ઉત્પાદનોને જાણતું નથી." મહિનાઓ અને બજેટ ખર્ચવામાં આવ્યા હતા, પરિણામ નાજુક હતું — જ્યારે પણ ઉત્પાદન સૂચિ બદલાય ત્યારે મોડેલ અપ્રચલિત થઈ ગયું. અંતે તેઓ આરએજી પર સ્વિચ થયા: તેઓએ દસ્તાવેજના આધારમાંથી ઉત્પાદન ડેટા મેળવ્યો, અપડેટ તાત્કાલિક હતું અને ખર્ચ ઘટી ગયો. પાઠ: માહિતીની સમસ્યા ફાઇન-ટ્યુનિંગ દ્વારા હલ થતી નથી.

કેસ 2 - યોગ્ય ફાઇન-ટ્યુનિંગ. એક વીમા કંપની ઇચ્છતી હતી કે મોડેલ હંમેશા સમાન કઠોર માળખામાં પોલિસી સારાંશનું ઉત્પાદન કરે (વિશિષ્ટ હેડિંગ સાથે કલમ દ્વારા આઇટમ). પ્રોમ્પ્ટ સાથે સુસંગતતા 70% પર અટકી છે. 300 સારા નમૂનાઓ સાથે LoRA ફાઇન-ટ્યુનિંગ પછી, ફોર્મેટ સુસંગતતા વધીને 98% થઈ ગઈ. આ વર્તણૂકની સમસ્યા હતી અને ફાઇન-ટ્યુનિંગ એ યોગ્ય સાધન હતું.

કેસ 3 - ગોપનીયતા ડેટામાં છટકી રહી છે. એક ટીમે ચેટ લોગને સાફ કર્યા વિના ફાઇન-ટ્યુનિંગ માટે સબમિટ કર્યા. લોગમાં વાસ્તવિક ગ્રાહકના નામ અને ઓળખ નંબરો હતા. ફાઇન-ટ્યુન કરેલ મોડેલે અસંબંધિત પ્રશ્નોના આઉટપુટ તરીકે આ નામોને "લીક" કરવાનું શરૂ કર્યું. મોડેલ પાછું ખેંચી લેવામાં આવ્યું હતું, ડેટા માસ્ક કરવામાં આવ્યો હતો અને ફરીથી પ્રશિક્ષિત કરવામાં આવ્યો હતો. પાઠ: ફાઇન-ટ્યુનિંગ ડેટામાં છુપાયેલી માહિતી કાયમી ધોરણે મોડેલમાં સ્થાનાંતરિત થાય છે.

નકલ કરી શકાય તેવા નમૂનાઓ

મારી આ સમસ્યા માટે ફાઈન ટ્યુનિંગ જરૂરી છે કે કેમ તે નક્કી કરવામાં મને મદદ કરો. સમસ્યા: [વર્ણન] શું આ માહિતીની સમસ્યા છે (મૉડલ કંઈક જાણતું નથી) અથવા વર્તન સમસ્યા (મૉડલ મને જોઈતું ફોર્મેટ/ટોન/સ્ટ્રક્ચર બનાવતું નથી)? શું તેને પ્રોમ્પ્ટ, થોડા-શૉટ અને આરએજી સાથે ઉકેલી શકાય છે? શા માટે તે દરેકને અજમાવશો/નહીં અજમાવશો?ફક્ત કઈ સ્થિતિમાં તમે ફાઈન-ટ્યુનિંગની ભલામણ કરશો?

આ ફાઇન-ટ્યુનિંગ ડેટાસેટ તપાસો:1) શું ઉદાહરણો ફોર્મેટ અને ટોનમાં સુસંગત છે? 2) શું તેઓ વાસ્તવિક ઉપયોગમાં વિવિધતાને આવરી લે છે? 3) શું તેમાં ગોપનીય/વ્યક્તિગત ડેટા છે (માસ્ક્ડ હોવો જોઈએ)? 4) શું ત્યાં વિરોધાભાસી ઉદાહરણો છે? ઉદાહરણોનો સબસેટ: [ઉદાહરણો] દરેક સમસ્યાને સૂચિબદ્ધ કરો અને તમને મળેલ ઠીક કરો.

ફાઇન-ટ્યુનિંગ પહેલાં અને પછી મૂલ્યાંકન યોજના બનાવો. કાર્ય: [સમજણ]- હોલ્ડ-આઉટ ઇવલ સેટ કેવી રીતે પસંદ કરવો જોઈએ?- બેઝ મોડલનો સ્કોર કેવી રીતે માપવામાં આવે છે?- ફાઇન-ટ્યુનિંગ પછી તેની સરખામણી કયા મેટ્રિક સાથે કરવામાં આવે છે?- હું કેવી રીતે ચકાસી શકું કે સામાન્ય ક્ષમતાઓ નબળી નથી (આપત્તિજનક ભૂલી જવું)?

LoRA.Data કદ સાથે ફાઇન-ટ્યુનિંગ માટે પ્રારંભિક હાયપરપેરામીટર્સ સૂચવો: [નમૂનાઓની સંખ્યા] હેતુ: [ફોર્મેટ/ટોન શિક્ષણ] યુગ, લર્નિંગ રેટ અને ઓવરલર્નિંગ ટાળવા માટે વહેલા બંધ થવાનું સૂચન કરો.

નિર્ણય કોષ્ટક: કયા સાધન ક્યારે

જરૂર

પ્રથમ પ્રયાસ કરો

ફાઇન-ટ્યુનિંગ?

મોડેલને કોઈ માહિતી ખબર નથી

આરએજી

ના

વર્તમાન ડેટા જરૂરી છે

આરએજી

ના

ચોક્કસ કઠોર ફોર્મેટ

થોડા શોટ

જો પૂરતું નથી તો હા

સુસંગત સ્વર/શૈલી

પ્રોમ્પ્ટ + થોડા-શોટ

જો પૂરતું નથી તો હા

ફીલ્ડ જાર્ગન/શૈલી

પ્રોમ્પ્ટ

જો તે પૂરતું નથી, તો LoRA

સરળ કાર્ય ઑપ્ટિમાઇઝેશન

પ્રોમ્પ્ટ એન્જિનિયરિંગ

સામાન્ય રીતે ના

સામાન્ય ભૂલો

  • ફાઇન-ટ્યુનિંગ સાથે માહિતીની સમસ્યાને હલ કરવાનો પ્રયાસ કરી રહ્યા છીએ. RAG એ યોગ્ય સાધન છે.
  • પ્રોમ્પ્ટ/ફ્યુ-શોટ/આરએજીનો ઉપયોગ કર્યા વિના ફાઇન-ટ્યુનિંગમાં દોડવું. ખર્ચાળ અને બિનજરૂરી.
  • ઓછી ગુણવત્તા/વિરોધાભાસી ડેટા સાથે તાલીમ. ઓછો પરંતુ સ્પષ્ટ ડેટા વધુ સારો છે.
  • શિક્ષણમાં ગોપનીય ડેટા મૂકવો. કાયમી ધોરણે મોડેલમાં ઘૂસણખોરી કરે છે.
  • પહેલાં અને પછીનું માપન નથી. તમે પુનઃપ્રાપ્તિ સાબિત કરી શકતા નથી.
  • આપત્તિજનક ભૂલી જવાની પરીક્ષા નથી. નવી કુશળતા જૂનામાં વિક્ષેપ પાડી શકે છે.

સારાંશમાં

ફાઇન-ટ્યુનિંગ એ એક શક્તિશાળી પરંતુ ખર્ચાળ સાધન છે અને પ્રોમ્પ્ટ-ફ્યુ-શૉટ-આરએજીનો ઉપયોગ કર્યા પછી માત્ર વર્તન/ફોર્મેટ સમસ્યાઓ માટે જ ધ્યાનમાં લેવું જોઈએ; માહિતી સમસ્યાઓ આરએજીની છે. LoRA જેવી પરિમાણ-કાર્યક્ષમ પદ્ધતિઓ વ્યવહારિક પ્રથમ પસંદગી છે. ગુણવત્તા સંપૂર્ણપણે ડેટા ગુણવત્તા પર આધાર રાખે છે; નાના પરંતુ સ્વચ્છ, સુસંગત અને ગોપનીય ડેટાનો ઉપયોગ કરો. પહેલા અને પછી માપો, વધુ શીખવા અને ક્ષમતા ગુમાવવા માટે પરીક્ષણ કરો. ફાઇન-ટ્યુનિંગ એ કાળજીની ફરજ છે; તે જે ગુણવત્તા પહોંચાડે છે તેની સામે તેની કુલ કિંમતનું વજન કરો.

એપ્લિકેશન કાર્ય

કોઈ સમસ્યા પસંદ કરો અને નક્કી કરો કે શું "જ્ઞાન અથવા વર્તન" વચ્ચે તફાવત કરીને ફાઇન-ટ્યુનિંગ જરૂરી છે અને તમારું સમર્થન લખો. જો તે વર્તણૂકની સમસ્યા હોય, તો 20-30 સુસંગત નમૂનાઓ તૈયાર કરો, છુપાયેલા ડેટાની તપાસ કરો અને મૂલ્યાંકન પહેલાં અને પછીની યોજના (હોલ્ડ-આઉટ ક્લસ્ટર, બેઝ સ્કોર, સરખામણી મેટ્રિક, ભૂલી જવાની કસોટી) દસ્તાવેજ કરો. જો તેને ફાઇન-ટ્યુનિંગને બદલે RAG/few-shot વડે ઉકેલી શકાય, તો તેની પણ નોંધ કરો.

ચેકલિસ્ટ

  • [ ] મેં નક્કી કર્યું કે સમસ્યા જ્ઞાન છે કે વર્તન.
  • [ ] મેં પ્રથમ પ્રોમ્પ્ટ, થોડા-શૉટ અને આરએજી વિકલ્પોનું મૂલ્યાંકન કર્યું.
  • [ ] મેં સુસંગતતા, વિવિધતા અને ગોપનીયતા માટે ફાઇન-ટ્યુનિંગ ડેટાનું ઑડિટ કર્યું.
  • [ ] મેં હોલ્ડ-આઉટ ઇવલ ક્લસ્ટર ફાળવ્યું અને બેઝ સ્કોર માપ્યો.
  • [ ] મેં પહેલા-પછીની સરખામણી અને ભૂલી જવાની પરીક્ષાનું આયોજન કર્યું.
  • [ ] મેં કુલ કિંમતની સરખામણી તે આપે છે તે ગુણવત્તા સાથે કરી.