Skip to content

Latest commit

 

History

History
105 lines (69 loc) · 28.1 KB

File metadata and controls

105 lines (69 loc) · 28.1 KB

Open Source Models

మీ LLM ని ఫైన్-ట్యూన్ చేయడం

తరుచుగా జనరేటివ్ AI అప్లికేషన్‌లను నిలబెట్టడానికి పెద్ద భాషా మోడల్స్ ఉపయోగించడం కొత్త సవాళ్లను తీసుకొస్తుంది. ముఖ్యమైన విషయం ఏమిటంటే, నిర్దిష్ట వినియోగదారు అభ్యర్థనకు మోడల్ ఉత్పత్తి చేసే కంటెంట్‌లో స్పందన నాణ్యత (ఖచ్చితత్వం మరియు సంబంధితత్వం)ని నిర్ధారించటం. గత పాఠాలలో, మేము ప్రాంప్ట్ ఇంజనీరింగ్ మరియు రిట్రీవల్-ఆగ్మెంటెడ్ జనరేషన్ వంటి సాంకేతికతలను చర్చించాము, ఇవి సమస్యను పరిష్కరించడానికి ఇప్పటికే ఉన్న మోడల్‌కు ప్రాంప్ట్ ఇన్‌పుట్‌ని మార్చడం ద్వారా ప్రయత్నిస్తాయి.

ఈ రోజు పాఠంలో, మేము మూడవ సాంకేతికతను చర్చిస్తున్నాము, ఫైన్-ట్యూనింగ్, ఇది మోడల్‌ను తానే తిరిగి శిక్షణ ఇవ్వడం ద్వారా సమస్యను పరిష్కరించేందుకు ప్రయత్నిస్తుంది అదనపు డేటాతో. వివరాలకు వెళ్దాం.

నేర్చుకునే లక్ష్యాలు

ఈ పాఠం ప్రీ-ట్రెయిన్డ్ భాషా మోడల్స్ కోసం ఫైన్-ట్యూనింగ్ యొక్క సూత్రాన్ని పరిచయం చేస్తుంది, ఈ విధానం యొక్క లాభాలు మరియు సవాళ్లను పరిశీలిస్తుంది, మరియు మీ జనరేటివ్ AI మోడల్స్ పనితీరును మెరుగుపరచేందుకు ఎప్పుడు మరియు ఎలా ఫైన్-ట్యూన్ చేయాలో మార్గదర్శనం అందిస్తుంది.

ఈ పాఠం ముగిసిన తర్వాత, మీరు ఈ క్రింది ప్రశ్నలకు సమాధానం ఇవ్వగలుగుతారు:

  • భాషా మోడల్స్ కోసం ఫైన్-ట్యూనింగ్ అంటే ఏమిటి?
  • ఎప్పుడు, మరియు ఎందుకు, ఫైన్-ట్యూనింగ్ ఉపయోగకరంగా ఉంటుంది?
  • నేను ప్రీ-ట్రెయిన్డ్ మోడల్‌ని ఎలా ఫైన్-ట్యూన్ చేయవచ్చు?
  • ఫైన్-ట్యూనింగ్ యొక్క పరిమితులు ఏమిటి?

సిద్దమా? ప్రారంభిద్దాం.

చిత్రపట గైడ్

మేము ఏమి కవర్ చేయబోతున్నామో ముందుగా పెద్ద చిత్రాన్ని తెలుసుకోదలచారా? ఈ చిత్రపట గైడ్‌ను చూడండి, ఇది ఫైన్-ట్యూనింగ్ కోసం ప్రాథమిక భావనలు మరియు ప్రేరణ నుండి, ఫైన్-ట్యూనింగ్ ప్రక్రియ మరియు ఉత్తమ ఉపయోగాల దిశగా మీరు నివాసంగా ప్రయాణం ఎలా చేస్తారో వివరిస్తుంది. ఈ విభాగం అన్వేషించడానికి ఆసక్తికరమైనది, అందుకే మీ స్వీయ-నిర్దేశిత నేర్చుకునే ప్రయాణానికి మద్దతు ఇవ్వడానికి అదనపు సంబంధిత లింకులు పొందడానికి సాధనాలు పేజీని చూడండి!

Illustrated Guide to Fine Tuning Language Models

భాషా మోడల్స్ కోసం ఫైన్-ట్యూనింగ్ అంటే ఏమిటి?

నిర్వచనం ప్రకారం, పెద్ద భాషా మోడల్స్ అనేవి వైవిధ్యమైన వనరుల నుండి, అంతర్జాలం సహా, భారీగా సేకరించిన టెక్స్ట్‌పై ప్రీ-ట్రెయిన్డ్ అవుతాయి. గత పాఠాలలో మేము తెలుసుకున్నట్లు, మోడల్ యొక్క వినియోగదారు ప్రశ్నలకు ("ప్రాంప్ట్‌లు") మెరుగైన ప్రతిస్పందన కోసం ప్రాంప్ట్ ఇంజనీరింగ్ మరియు రిట్రీవల్-ఆగ్మెంటెడ్ జనరేషన్ వంటి సాంకేతికతలు అవసరం.

ప్రాంప్ట్-ఇంజనీరింగ్ లో ప్రసిద్ధ టెక్నిక్ అంటే, మోడల్‌కు కచ్చితమైన ప్రత్యుత్తరం కోసం ఆశించబడే దిశలో సూచనలు (ప్రత్యక్ష మార్గదర్శకాలు) లేదా కొన్ని ఉదాహరణలు ఇవ్వడం (అప్రత్యక్ష మార్గదర్శకాలు) ఇవ్వడం. దీన్ని ఫ్యూ-షాట్ లెర్నింగ్ అంటారు కానీ దీని రెండు పరిమితులు ఉన్నాయి:

  • మోడల్ టోకెన్ పరిమితులు మీరు ఇవ్వగల ఉదాహరణల సంఖ్యను ఆపేస్తాయి, మరియు దాని ప్రభావాన్ని పరిమితం చేస్తాయి.
  • మోడల్ టోకెన్ ఖర్చులు ప్రతి ప్రాంప్ట్‌కు ఉదాహరణలను చేర్చడం ఖర్చుతో కూడాయి, మరియు సార్వత్రికతను తగ్గిస్తాయి.

ఫైన్-ట్యూనింగ్ అనేది మెషీన్-లెర్నింగ్ వ్యవస్థల్లో స్వల్పమైన సాధారణ పద్ధతి, అందులో pre-trained మోడల్‌ను తీసుకొని కొత్త డేటాతో తిరిగి శిక్షణ ఇస్తారు, నిర్దిష్ట పనితీరును మెరుగుపరచడానికి. భాషా మోడల్స్ సందర్భంలో, మేము ఫైన్-ట్యూనింగ్ చేయవచ్చు నిర్దిష్ట పని లేదా అప్లికేషన్ డొమైన్ కోసం శ్రద్ధగా సేకరించిన ఉదాహరణలతో ప్రీ-ట్రెయిన్డ్ మోడల్‌ని తిరిగి శిక్షణ ఇస్తూ కస్టమ్ మోడల్ రూపొందించవచ్చు, ఇది ఆ పని లేదా డొమైన్ నిమిత్తం ఖచ్చితమైన, సంబంధితమైనదిగా ఉండే అవకాశం ఉంది. ఫైన్-ట్యూనింగ్ యొక్క అనుబంధ లాభం ఏమంటే ఫ్యూషాట్ లెర్నింగ్ కోసం అవసరమైన ఉదాహరణల సంఖ్యను కూడా తగ్గిస్తుంది — టోకెన్ వినియోగం మరియు సంబంధిత ఖర్చులను తగ్గిస్తుంది.

ఎప్పుడు మరియు ఎందుకు మోడల్స్‌ను ఫైన్-ట్యూన్ చేయాలి?

ఈ సందర్భంలో, మేము ఫైన్-ట్యూనింగ్ అంటే సూపర్వైజ్డ్ ఫైన్-ట్యూనింగ్ ని సూచిస్తున్నాము, అంటే మోడల్ తిరిగి శిక్షణ పొందుతుంది కొత్త డేటా తో, ఇది మొదటి శిక్షణ డేటాసెట్‌లో లేదు. ఇది అన్‌సూపర్వైజ్డ్ ఫైన్-ట్యూనింగ్ పద్ధతితో తేడా, అటువంటి సందర్భంలో మోడల్ తిరిగి శిక్షణ పొందుతుంది మొదటి డేటా మీదే కానీ విభిన్న హైపర్‌పారామితులతో.

గమనించవలసింది ఏంటంటే, ఫైన్-ట్యూనింగ్ ఒక అభివృద్ధి చేయబడిన సాంకేతికత, దీనికి ఉత్తమ ఫలితాల కోసం ప్రత్యేక నైపుణ్యం అవసరం. తప్పుగా చేస్తే, అది ఆశించిన మెరుగుదలలను ఇవ్వకపోవచ్చు, ఖచ్చితంగా లక్ష్య డొమైన్ పనితీరును కూడా చెడగొట్టవచ్చు.

అందుకే మీరు "ఎలా" భాషా మోడల్స్‌ను ఫైన్-ట్యూన్ చేయాలో నేర్చుకోవడానికి ముందు, మీరు "ఎందుకు" ఈ మార్గాన్ని ఎంచుకోవాలి అనేది తెలుసుకోవాలి, మరియు "ఎప్పుడు" ఫైన్-ట్యూనింగ్ ప్రక్రియను ప్రారంభించాలో తెలిసి ఉండాలి. మీకు ఈ ప్రశ్నలు అడగండి:

  • ఉపయోగం కేసు: మీరు ఫైన్-ట్యూనింగ్ కోసం మీ ఉపయోగం కేసు ఏమిటి? ప్రస్తుత pre-trained మోడల్ లో ఏ అంశాన్ని మెరుగుపరచాలనుకుంటున్నారు?
  • వికల్పాలు: మీరు ఇతర సాంకేతికతలను ప్రయత్నించినారా కావలసిన ఫలితాలను సాధించడానికి? వాటినే ఒక మూల్యాంకనానికి ఉపయోగించండి.
    • ప్రాంప్ట్ ఇంజనీరింగ్: సంబంధిత ప్రాంప్ట్ ప్రతిస్పందనల ఉదాహరణలతో ఫ్యూషాట్ ప్రాంప్టింగ్ ప్రయత్నించండి. ఫలితాల నాణ్యతను అంచనా వేసి చూడండి.
    • రిట్రీవల్ ఆగ్మెంటెడ్ జనరేషన్: మీ డేటా లోని క్వెరీ ఫలితాలతో ప్రాంప్ట్‌లను ఆగ్మెంట్ చేయడం ప్రయత్నించండి. ఫలితాల నాణ్యతను అంచనా వేయండి.
  • ఖర్చులు: మీరు ఫైన్-ట్యూనింగ్ ఖర్చులను గుర్తించారా?
    • ట్యూనబిలిటీ - pre-trained మోడల్ ఫైన్-ట్యూనింగ్ కోసం అందుబాటులో ఉందా?
    • శ్రమ - శిక్షణ డేటా సిద్ధం చేయడం, మోడల్ మూల్యాంకనం & సరిదిద్దడం కోసం
    • కంప్యూట్ - ఫైన్-ట్యూనింగ్ జాబ్‌లను నడపడం, మరియు ఫైన్-ట్యూన్డ్ మోడల్‌ను డిప్లాయ్ చేయడం కోసం
    • డేటా - ఫైన్-ట్యూనింగ్ ప్రభావం కోసం తగిన నాణ్యత ఉదాహరణలకు ప్రాప్తి
  • లాభాలు: ఫైన్-ట్యూనింగ్ యొక్క లాభాలు నిర్ధారించారా?
    • నాణ్యత - ఫైన్-ట్యూన్డ్ మోడల్ ప్రాథమిక పోటీని మించడం సాధించిందా?
    • ఖర్చు - ఇది ప్రాంప్ట్‌లను సరళీకృతం చేసి టోకెన్ వినియోగం తగ్గిస్తున్నదా?
    • విస్తరణ - మీరు ఆ బేస్ మోడల్‌ను కొత్త డొమైన్‌లకు మళ్లీ ఉపయోగించవచ్చా?

ఈ ప్రశ్నలకు సమాధానాలు ఇవ్వడం ద్వారా, మీరు మీ ఉపయోగం కేసు కోసం ఫైన్-ట్యూనింగ్ సరైన మార్గమై ఉందా నిర్ణయించుకోగలుగుతారు. సైద్ధాంతికంగా, ప్రయోజనాలు ఖర్చుల కన్నా ఎక్కువ కావాలి. ఒకసారి మీరు ముందుకు వెళ్లాలని నిర్ణయించుకున్నారంటే, మీకు pre-trained మోడల్‌ని ఎలా ఫైన్-ట్యూన్ చేయాలో ఆలోచించటం మొదలుపెట్టండి.

తీర్పు తీసుకునే ప్రక్రియ మీద మరిన్ని అవగాహనలు కావాలా? To fine-tune or not to fine-tune వీడియోను చూడండి

ప్రీ-ట్రెయిన్డ్ మోడల్‌ను ఎలా ఫైన్-ట్యూన్ చేయవచ్చు?

ప్రీ-ట్రెయిన్డ్ మోడల్‌ ను ఫైన్-ట్యూన్ చేసేందుకు, మీకు అవసరం:

  • ఫైన్-ట్యూన్ చేయదగిన ప్రీ-ట్రెయిన్డ్ మోడల్
  • ఫైన్-ట్యూనింగ్ కోసం ఉపయోగించుకునే డేటా సెట్
  • ఫైన్-ట్యూనింగ్ జాబ్ నడిపే శిక్షణ పరిసరాలు
  • ఫైన్-ట్యూన్డ్ మోడల్‌ను డిప్లాయ్ చేసే హోస్టింగ్ పరిసరాలు

ఫైన్-ట్యూనింగ్ ప్రక్రియలో

క్రింది వనరులు ఒక యథార్థ ఉదాహరణలో మీరు ఎంచుకున్న మోడల్ మరియు శ్రద్ధగా సేకరించిన డేటాసెట్ ఉపయోగించి దశల వారీగా ట్యూటోరియల్స్ ను అందిస్తాయి. ఈ ట్యూటోరియల్స్‌ను అనుసరించడానికి, మీరు ఆ ప్రత్యేక ప్రొవైడర్ అకౌంట్ కలిగి ఉండాలి, అలాగే సంబంధిత మోడల్‌లు మరియు డేటాసెట్‌లకు ప్రాప్యత అవసరం.

ప్రొవైడర్ ట్యూటోరియల్ వివరణ
OpenAI How to fine-tune chat models నిర్దిష్ట డొమైన్ల కోసం gpt-35-turbo ను ఎలా ఫైన్-ట్యూన్ చేయాలో నేర్చుకోండి ("recipe assistant") శిక్షణ డేటా సిద్ధం చేయడం, ఫైన్-ట్యూనింగ్ జాబ్ నిర్వహించడం, మరియు ఫైన్-ట్యూన్డ్ మోడల్‌ను ఇన్ఫెరెన్స్ కోసం ఉపయోగించడం.
Azure OpenAI GPT 3.5 Turbo fine-tuning tutorial Azureలో gpt-35-turbo-0613 మోడల్‌ను ఎలా ఫైన్-ట్యూన్ చేయాలో నేర్చుకోండి: శిక్షణ డేటా సృష్టించడం & అప్‌లోడ్ చేయడం, ఫైన్-ట్యూనింగ్ జాబ్ నడపడం. కొత్త మోడల్‌ను డిప్లాయ్ చేసి ఉపయోగించడం గురించి తెలుసుకోండి.
Hugging Face Fine-tuning LLMs with Hugging Face ఈ బ్లాగ్ పోస్ట్‌లో మీరు ఓపెన్ LLM (ఉదాహరణకు: CodeLlama 7B) ను ఎలా ఫైన్-ట్యూన్ చేయచ్చో తెలుసుకోండి, ఇది transformers లైబ్రరీ & Transformer Reinforcement Learning (TRL) ఉపయోగించి, అలాగే హగ్గింగ్ ఫేస్ పై ఉన్న ఓపెన్ datasetsతో.
🤗 AutoTrain Fine-tuning LLMs with AutoTrain AutoTrain (లేదా AutoTrain Advanced) అనేది హగ్గింగ్ ఫేస్ అభివృద్ధి చేసిన పైథాన్ లైబ్రరీ, ఇది LLM ఫైన్-ట్యూనింగ్ సహా వివిధ పనులకు ఫైన్-ట్యూనింగ్ అందిస్తుంది. AutoTrain ఒక నో-కోడ్ పరిష్కారం మరియు ఫైన్-ట్యూనింగ్ మీ స్వంత క్లౌడ్, Hugging Face స్పేస్ లేదా స్థానికంగా చేయవచ్చు. ఇది వెబ్-ఆధారిత GUI, CLI మరియు yaml కాన్ఫిగ్యూర్ ఫైళ్ల ద్వారా శిక్షణ అందిస్తుంది.
🦥 Unsloth Fine-tuning LLMs with Unsloth Unsloth అనేది ఓపెన్ సోర్స్ ఫ్రేమ్‌వర్క్, ఇది LLM ఫైన్-ట్యూనింగ్ మరియు రీన్ఫోర్స్‌మెంట్ లెర్నింగ్ (RL) ని మద్దతు ఇస్తుంది. Unsloth స్థానిక శిక్షణ, మూల్యాంకనం మరియు ఏర్పాటు को సులభతరం చేస్తుంది, సిద్ధంగా ఉన్న నోట్‌బుక్స్ తో. ఇది రచన- నుంచి-ధ్వని (TTS), BERT, మరియు మల్టీమోడల్ మోడల్స్ ని కూడా మద్దతు ఇస్తుంది. ప్రారంభించడానికి వారి దశల వారీ Fine-tuning LLMs Guide చదవండి.

అసైన్మెంట్

పైన ఉన్న ట్యూటోరియల్స్‌లో ఒకదాన్ని ఎంచుకుని దాన్ని అనుసరించండి. మేము ఈ ట్యూటోరియల్స్‌లోని ఒక వెర్షన్‌ని Jupyter నోటుబుక్స్‌లో ఈ రిపోలో సూచనగా అనుకరించవచ్చు. తాజా వెర్షన్ల కోసం అసలు వనరులను నేరుగా ఉపయోగించండి.

అద్భుతమైన పని! మీ నేర్చుకోవడాన్ని కొనసాగించండి.

ఈ పాఠం పూర్తయ్యాక, మా Generative AI Learning collection ను సందర్శించండి, మీ Generative AI జ్ఞానాన్ని ఇంకా మెరుగుపరుచుకోండి!

అభినందనలు!! మీరు ఈ కోర్సు యొక్క v2 సిరీస్ నుండి చివరి పాఠాన్ని పూర్తి చేసినారు! నేర్చుకోవడం మరియు నిర్మించడం ఆపకండి. **కేవలం ఈ అంశం కోసం అదనపు సిఫార్సుల జాబితా కోసం RESOURCES పేజీని చూడండి.

మా v1 సిరీస్ పాఠాలు కూడా మరిన్ని అసైన్మెంట్లు మరియు భావనలతో నవీకరించబడ్డాయి. కాబట్టి కాస్త సమయం తీసుకుని మీ జ్ఞానాన్ని తాజా పరచుకోండి - మరియు దయచేసి మీ ప్రశ్నలు మరియు అభిప్రాయాలను పంచుకోండి మా కమ్యూనిటి కోసం ఈ పాఠాలను మెరుగుపరచడానికి సహాయం చేయండి.


అస్పష్టత: ఈ పత్రాన్ని AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించబడింది. మేము సరైన అనువాదానికి ప్రయత్నిస్తూనే ఉన్నప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పులున్నాయి అని దయచేసి గమనించండి. ప్రత్యేక భాషలో అత్యంత నమ్మదగిన మూల గ్రంథాన్ని అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదాన్ని సూచించబడుతుంది. ఈ అనువాదం ఉపయోగంలో ఏర్పడిన ఏవైనా అపార్ధాలు లేదా తప్పుదారితీసే అర్థాల గురించి మేము బాధ్యత వహించము.