- डेवलपर अब अपने डेटा से GPT‑3.5 Turbo को अपने use case के हिसाब से tune कर सकते हैं, और GPT‑4 fine-tuning पतझड़ में उपलब्ध होने वाली है
- शुरुआती परीक्षणों में fine-tuned GPT‑3.5 Turbo ने कुछ सीमित कार्यों में बेस GPT‑4 के स्तर के बराबर या उससे बेहतर प्रदर्शन दिखाया, और API input/output डेटा ग्राहक के स्वामित्व में रहता है
- private beta ग्राहकों ने निर्देशों का पालन, output format की स्थिरता, और brand tone customization में सुधार देखा, और GPT‑3.5 Turbo fine-tuning 4k tokens संभालती है
- कुछ early testers ने निर्देशों को मॉडल में train कराकर prompt size को अधिकतम 90% तक घटाया, जिससे call speed और लागत में कमी हो सकती है
- मौजूदा GPT‑3 base models के बंद होने के साथ
babbage-002औरdavinci-002replacement models के रूप में उपलब्ध हैं, और नया/v1/fine_tuning/jobsपुराने/v1/fine-tunesकी जगह लेता है
GPT‑3.5 Turbo fine-tuning उपलब्ध
- डेवलपर अब अपना डेटा लाकर GPT‑3.5 Turbo को अपने use case के हिसाब से customize कर सकते हैं
- GPT‑3.5 Turbo fine-tuning अभी उपलब्ध है, और GPT‑4 fine-tuning पतझड़ में उपलब्ध होने वाली है
- शुरुआती परीक्षणों में fine-tuned GPT‑3.5 Turbo ने कुछ सीमित कार्यों में बेस GPT‑4 स्तर की क्षमता के बराबर या उससे बेहतर नतीजे दिखाए
- fine-tuning API के जरिए भेजा और प्राप्त किया गया डेटा ग्राहक के स्वामित्व में रहता है, और OpenAI या अन्य संगठन इसे दूसरे models की training में इस्तेमाल नहीं करते
- संबंधित policy: API data privacy
बेहतर प्रदर्शन वाले use cases
- private beta ग्राहकों ने supervised fine-tuning से कई सामान्य use cases में performance सुधारा
- निर्देशों का बेहतर पालन: output को छोटा बनाना या हमेशा किसी खास भाषा में जवाब देना जैसे निर्देशों का बेहतर पालन कराया जा सकता है
- स्थिर output format: code completion या API call लिखने जैसे apps में, जहां किसी खास response format की जरूरत होती है, यह consistent format को बेहतर तरीके से बनाए रखता है
- custom tone: कंपनी brand की voice के मुताबिक model output tone को अधिक consistent तरीके से adjust किया जा सकता है
- fine-tuning का उपयोग सिर्फ performance सुधारने के लिए नहीं, बल्कि prompt को छोटा रखते हुए समान performance बनाए रखने के लिए भी किया जाता है
- GPT‑3.5 Turbo fine-tuning 4k tokens संभालती है, जो OpenAI के पिछले fine-tuning models की तुलना में लगभग दोगुना है
- early testers ने निर्देशों को model में ही train कराकर prompt size को अधिकतम 90% तक घटाया, जिससे API calls की speed बढ़ाने और cost घटाने में मदद मिलती है
- fine-tuning सबसे शक्तिशाली तब होती है जब इसे prompt engineering, information retrieval, function calling जैसी दूसरी techniques के साथ combine किया जाता है
- उपयोग का तरीका fine-tuning guide में देखा जा सकता है
- function calling और
gpt-3.5-turbo-16kके लिए fine-tuning support पतझड़ के बाद के हिस्से में उपलब्ध होने वाला है
सुरक्षा प्रक्रिया और कीमत
- OpenAI base model की safety features को सुरक्षित रखने के लिए training data को Moderation API और GPT‑4 आधारित moderation system से गुजारता है
- यह moderation प्रक्रिया उन unsafe training data को detect करने की प्रक्रिया है जो safety standards से टकराते हैं
- GPT‑3.5 Turbo fine-tuning की लागत training cost और usage cost में बंटी है
- training: $0.008 प्रति 1K tokens
- usage input: $0.012 प्रति 1K tokens
- usage output: $0.016 प्रति 1K tokens
- उदाहरण के लिए, 100,000 tokens वाली training file को 3 epochs के लिए train करने वाले
gpt-3.5-turbofine-tuning job की अनुमानित लागत $2.40 है
GPT‑3 model replacement और API बदलाव
- OpenAI ने जुलाई 2023 में घोषणा की थी कि मौजूदा GPT‑3 base models
ada,babbage,curie,davinciको 4 जनवरी 2024 को बंद कर दिया जाएगा babbage-002औरdavinci-002उन models के replacement models हैं, और इन्हें base model या fine-tuned model के रूप में इस्तेमाल किया जा सकता है- ग्राहक Completions API call करके
babbage-002औरdavinci-002तक पहुंच सकते हैं - इन models को नए API endpoint
/v1/fine_tuning/jobsके जरिए fine-tune किया जा सकता है - नया endpoint pagination और ज्यादा scalability देता है, जिससे fine-tuning API के भविष्य के evolution को support मिलता है
- पुराने
/v1/fine-tunesसे नए endpoint पर switch करने का तरीका fine-tuning guide में समझाया गया है - पुराना
/v1/fine-tunesendpoint deprecated हो जाएगा, और 4 जनवरी 2024 को बंद होने वाला है
1 टिप्पणियां
Hacker News की राय
क्या कोई आसान भाषा में समझा सकता है कि fine-tuning असल में करती क्या है?
क्या यह model को सवालों के जवाब देने का तरीका दिखाती है, उसे नई जानकारी देती है, या दोनों करती है—यही जानना चाहता/चाहती हूँ
उदाहरण के लिए, अगर मैं एक बड़े private knowledge base पर सवालों के जवाब देने के लिए LLM इस्तेमाल करना चाहूँ, तो क्या उस knowledge base से model को fine-tune करना सही है? अगर हाँ, तो hallucination कैसे घटाएँ, और क्या यह हर बार prompt में संबंधित documents डालने से बेहतर है?
नए prompt में “similar” का ठीक-ठीक मतलब क्या है, यह generalization के black magic जैसा है
इसे style, information, या दोनों सिखाने के लिए इस्तेमाल किया जा सकता है, लेकिन ऐसा कोई पक्का तरीका नहीं है जिससे model सिर्फ fine-tuning data के आधार पर ही जवाब दे
अगर आप ऐसे बहुत सारे examples डालें जिनमें X से असंबंधित topics को reject किया गया हो, तो कुछ हद तक performance की उम्मीद की जा सकती है
बड़े private knowledge base के लिए आम तौर पर fine-tuning की सलाह नहीं दी जाती, बल्कि retrieval-based approach सुझाई जाती है
जब input में जानकारी डाली जाती है, तो sources verify किए जा सकते हैं और model के लिए hallucination के बिना जवाब देना आसान होता है
हालांकि retrieval lookup-type सवालों में मजबूत है, लेकिन ऐसे सवालों में कमजोर हो सकता है जहाँ कई sources की तुलना या उन्हें मिलाना पड़े; वहाँ fine-tuning के कुछ फायदे हो सकते हैं
यह blog post भी उसी दिशा में लगता है
यह भी जानना चाहता/चाहती हूँ कि OpenAI fine-tuning कैसे करता है; शायद LoRA नहीं होगा
language model, hallucination से दिखता है, data store करने या access करने का tool नहीं है
data store और access करने के लिए embeddings + vector database इस्तेमाल करना बेहतर है
fine-tuning का उपयोग यह बदलने के लिए है कि model किस तरह की language generate करता है
अगर आप journalist की तरह लिखने वाला AI चाहते हैं, तो newspaper articles से fine-tune करें; अगर review लिखने वाला AI चाहते हैं, तो reviews से fine-tune करें
देखें: https://huyenchip.com/2023/05/02/rlhf.html
यह base model को खुद fine-tune करने या RLHF करने से काफी अलग है
यह general chatbot के बजाय किसी खास तरीके से behave करने या अलग task करने के लिए objective को adjust करने में अच्छी तरह काम आ सकता है
वहीं, bot में knowledge जोड़ना grounded generation या retrieval-augmented generation (GG/RAG) के ज्यादा करीब है, यानी base model में नया data, जैसे confidential data, augment करने का तरीका
बड़े private knowledge base Q&A के लिए यह उपयुक्त नहीं है; मुझे लगता है GG/RAG ज्यादा सही है
इस बारे में हाल में लिखा मेरा लेख भी है: https://vectara.com/fine-tuning-vs-grounded-generation/
high level पर देखें तो यह prompt में न आ सकने वाले अधिक data को model के अंदर डालने की सुविधा देता है
बड़ा private knowledge base उस course में दिए गए प्रमुख examples में से एक था, और domain-specific या privacy-sensitive scenarios में prompting की तुलना में fine-tuning ज्यादा सही लग सकती है
“fine-tuning training data Moderation API और GPT-4-based review system से होकर गुजरता है” वाली बात काफी महंगी लगती है
API pricing देखें तो model training से ज्यादा महंगा GPT-4 inference चलाना है, इसलिए शायद वे GPT-4 का उपयोग सिर्फ तब करते होंगे जब safety judgment ambiguous हो
अगर मुझे पहले से पता है कि मुझे किस तरह की language चाहिए, तो समझ नहीं आता कि OpenAI को मेरा parameter adjustment dataset review करने क्यों दूँ
Llama2 13B या 70B को fine-tune करते समय आम तौर पर cloud GPU rent करना पड़ता है; OpenAI की fine-tuning से तुलना में यह कैसा है, जानना चाहता/चाहती हूँ
OpenAI में infrastructure खुद rent करने की जरूरत नहीं होती और वह usage fee में शामिल होता है; Llama2 model fine-tuning कर चुके लोगों के नजरिए से तुलना सुनना चाहूँगा/चाहूँगी
मुझे लगता है GPT की “fine-tuning” Llama2 जैसे model को fine-tune करने से अलग है
संभवतः network के सभी weights adjust नहीं किए जाते, बल्कि बहुत छोटा हिस्सा ही adjust होता है, और OpenAI इसे ठीक कैसे करता है यह proprietary technology है
trade-off यह है कि OpenAI fine-tuning सस्ती है, लेकिन “real” fine-tuning की तुलना में कम शक्तिशाली है
खासकर अगर 13B पर्याप्त हो, और modal.com पर fine-tuned llama2 13B model inference लगभग $0.003 प्रति 1K tokens के स्तर पर इस्तेमाल किया जा सकता है
इससे सस्ते विकल्प भी निश्चित रूप से होंगे
अगर data बहुत ज्यादा नहीं है, तो llama2 training cost भी आम तौर पर कुछ dollars के स्तर पर होती है
davinci-002 को completion model के रूप में उपलब्ध देखकर लगा कि शायद फिर से “unsafe” model भी दे रहे हैं, लेकिन davinci-002 और babbage-002 दोनों “unsafe” completion requests में infinite loop में फँस जाते हैं
text-davinci-003 और text-curie-001 ठीक थे, लेकिन लगता है OpenAI सच में uncensored model को इस्तेमाल के लिए उपलब्ध नहीं कराना चाहता
Fine-tuned GPT-3.5 Turbo की generation cost base model की तुलना में 8 गुना है, इसलिए cost-efficient होने के लिए OpenAI के बताए “prompt size में 90% कमी” वाले दायरे में आना पड़ेगा
शायद हर prompt में कुछ examples डालकर output को guide करने वाली few-shot prompting बेहतर हो सकती है
बेशक यह हर use case में फिट नहीं बैठेगी, लेकिन experiment करने लायक है
ऊपर से function calling भी इस साल autumn के बाद तक उपलब्ध नहीं होगी
अभी मेरी usage का बड़ा हिस्सा function calling है, इसलिए फिलहाल शायद pass करूँगा
OAI fine-tuning पर निष्कर्ष क्या है, यह जानने की जिज्ञासा है; पहले इस thread में माहौल ऐसा था कि यह ज़रूरी नहीं है: https://news.ycombinator.com/item?id=37174850
सोच रहा हूँ कि वह 90% वही संख्या है या नहीं जो ऊपर वाली calculation से निकली है
सिर्फ GPT-3.5-turbo और fine-tuned GPT-3.5-turbo की तुलना करें तो बात सही है, लेकिन अगर यह Llama-2 model fine-tuning जैसी है, तो SQL query generation जैसे कई practical use cases में GPT-4 level performance मिल सकती है
हालांकि math या coding शायद मुश्किल रहेंगे, जब तक काफी data से fine-tune न किया जाए
असल में 7B Llama-2 model ने भी fine-tuning के बाद GPT-4 level performance दिखाई थी: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
GPT-3.5 मेरे लिए इतना खराब है कि काम का नहीं है
writing में यह उसी तरह के jargon को दोहराता रहता है, coding में बहुत बार गलत होता है, और natural language processing में भी बहुत ज्यादा explicitly बताना पड़ता है, इसलिए यह बस average chatbot जैसा लगता है
GPT-4 महीने का $20 हर मामले में बहुत बेहतर है और मैं इसे Angular काम में भी इस्तेमाल करता हूँ
जब AI हर वजह समझा देता है, तो यह over-engineered framework भी सच में समझ में आने लगता है
इसे translator, teacher और problem-solving assistant के रूप में रखना अच्छा है, और अगर यह और बेहतर हो गया तो समस्याओं के जवाब Google पर search करना imagine करना मुश्किल होगा
जो feature चाहिए वह built-in prompt splitting है
पुराने GPT versions और fake ethics debates छोड़कर, इस technology के best version पर focus करके अगर इसे महीने के $20 में बेचा जाए, तो अरबों कमाए जा सकते हैं और online की बहुत-सी चीजें हिलाई जा सकती हैं
answers repetitive और bland हो जाते हैं
अगर उसे product नहीं बनाना है, तो इतनी मेहनत worth नहीं है
हालांकि कई valuable LLM products या features का scope ज्यादा narrow होता है, और fine-tuning से बड़ा improvement मिल सकता है
उदाहरण के लिए SQL query generation में 7B Llama-2 model को fine-tune करने पर भी GPT-4 से बेहतर result देने वाला experiment हुआ था: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
जब Google के लिए सही सवाल पूछना मुश्किल हो, तब LLM चमकते हैं
“मैंने पहले Google का नए employees और GPA पर किया गया एक study सुना था, जिसमें कहा गया था कि GPA 3.0 से ऊपर हो तो फर्क नहीं पड़ता। क्या उस study का link दे सकते हो? क्या follow-up studies थीं?” जैसा सवाल Google पर ढूँढना मुश्किल है और minimum GPA तथा jobs से जुड़े links में दब जाना आसान है
Bard ने Laszlo Bock और उनकी book की जानकारी दी, जिससे “Laszlo Bock Google GPA” जैसा refined search possible हुआ
मैंने वही sentence कई LLMs में डाला; ChatGPT ने knowledge limit वाला जवाब दिया, Bard ने तुरंत ढूँढ लिया, और Hugging Face Chat ने Bock के साथ Project Oxygen और Project Aristotle तक दिए, इसलिए वह सबसे अच्छा था
Claude study नहीं ढूँढ पाया, लेकिन दूसरे candidates सुझाए, और LLaMa भी नहीं ढूँढ पाया, लेकिन Google study और कुछ names बताए
मैं इस बात से सहमत हूँ कि accuracy के लिए fine-tuning results को खराब कर देती है
alignment साथ ही misalignment भी है, क्योंकि यह probability distribution को shift करता है, इसलिए trade-off अनिवार्य है
दुर्भाग्य से इस area की research लोकप्रिय नहीं है, और जिन methods की जरूरत है वे controversial networks और probability/distributions पर गहरी discussion मांगते हैं, इसलिए अभी top conferences में reject होना आसान लगता है
human preferences के हिसाब से tuning असल में knowledge के हिसाब से tuning नहीं, बल्कि लोगों को पसंद आने वाले results के हिसाब से tuning है
यह evaluation metric यानी humans को hack करने वाला bias model में डालने जैसा है; इसलिए average factual accuracy बढ़ भी जाए, तो यह गलत जानकारी को ज्यादा convincing तरीके से पेश करवाकर LLM को worse बना सकता है
data aggregation के तरीके के कारण evaluation बिगड़ने वाले Simpson's paradox और Berkson's paradox से बहुत सावधान रहना चाहिए, और असल में हम Goodhart's law के जरिए tuning कर रहे हैं
अगर किसी ने इतने बड़े मॉडल को fine-tune किया है, तो आम तौर पर असर दिखाने के लिए कितना डेटा चाहिए, यह जानने की उत्सुकता है
docs में दिए गए 100k tokens क्या वाकई base model के व्यवहार पर बड़ा असर डाल सकते हैं, या यह बस toy example है, यह जानना चाहता हूं
सही संख्या use case के हिसाब से काफी बदलती है
सलाह है कि पहले अच्छी तरह बनाए गए 50 demos से शुरू करें और देखें कि improvement का signal मिलता है या नहीं
अगर यह काफी न भी हो, फिर भी improvement दिखे तो और data जोड़ने पर लगातार बेहतर होने की संभावना है; और अगर improvement न दिखे, तो examples बढ़ाने से पहले task setup या data structure पर फिर से सोचना चाहिए
कुछ हजार examples से भी model के behavior और output की content/format को काफी बड़ा बदला जा सकता है
LoRA जैसे mechanisms accuracy loss के बदले बहुत efficient fine-tuning तरीका हैं, और सिर्फ ऊपर की कुछ layers बदलने से भी model में काफी बड़ा बदलाव आ जाता है
examples हैं https://huggingface.co/datasets/b-mc2/sql-create-context और https://huggingface.co/datasets/GEM/viggo
दूसरी ओर, primary-school maths problems solve करना सीखने के लिए 8K examples भी पर्याप्त नहीं थे, इसलिए problem dependence बहुत बड़ा है
संदर्भ: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe..., https://huggingface.co/datasets/gsm8k
1000 tokens से improvement दिखना शुरू हो जाता है
ऐसा लगता है जैसे पहले जिसे openly release करने वाले थे, उसे free beta के रूप में निकाला, bugs ठीक किए, फिर उसका ज्यादा powerful sibling subscription service के रूप में निकाला, दोनों को काफी कमजोर किया, और fine-tuning निकालकर कमजोर किए गए GPT-3.5 को launch-time level के करीब लाने लायक बनाया—लेकिन सिर्फ तभी जब ठीक से fine-tune किया जाए—और unweakened version को Microsoft internal use के लिए रखकर profit कमाने वाला flow है
इससे तो Google ज्यादा ईमानदार है
उनका stance यह है कि उनके पास best product है, लेकिन internal tool के रूप में उसकी value ज्यादा है इसलिए वे उसे public नहीं करते; GPT release के बाद stock price बचाने के लिए Bard announce किया, लेकिन वह खास नहीं था और शायद ठीक से release भी नहीं करेंगे
फिर भी Meta ने कमजोर version ही सही, open source में निकाला
कुछ महीने पहले GPT-4 के साथ सच में productivity जबरदस्त थी, लेकिन अब फिर से solo developer जैसा महसूस होता है
अभी इस्तेमाल करने पर errors ठीक करने में जितना time बचता है उससे ज्यादा time बर्बाद हो जाता है, इसलिए अक्सर खुद ही करना बेहतर लगता है
इसलिए यह समझ आता है कि वे इसे दूसरों को क्यों नहीं देना चाहते
अगर “कमजोर नहीं किया गया है” जैसे साफ-साफ गलत जवाब देने हैं, तो कृपया मेरा समय बर्बाद न करें
privacy को लेकर उत्सुकता है
OpenAI कहता है कि API calls को model training में इस्तेमाल नहीं करता, लेकिन जानना चाहता हूं कि OpenAI या Microsoft फिर भी text store करते हैं या नहीं, और करते हैं तो कितने समय तक
कुल मिलाकर यह बढ़िया है और 16k fine-tuning का इंतजार है
अगर इस requirement से exemption चाहिए, तो application form है
https://learn.microsoft.com/en-us/legal/cognitive-services/o...
stored data से कोई संदिग्ध काम नहीं किया जाता; यह सचमुच event के बाद थोड़े समय के लिए संभावित trust और safety violations की जांच के मकसद से ही होता है
अगर ऐसा है, तो privacy guarantee क्या है कि OpenAI बाद में GPT-5 को scale करने में इसका इस्तेमाल नहीं करेगा?
काफी दिलचस्प है
OpenAI का “Chat” model पहली बार fine-tune करने योग्य हुआ है
उत्सुकता है कि किसी ने currently AI detectors को fine-tuned model से bypass करके देखा है या नहीं
यह संभव है, यह पता है, लेकिन dataset कैसे structure करना चाहिए, इसका अंदाजा लगाना चाहता हूं
जो लोग पैसे देकर इस्तेमाल कर रहे हैं, वे ठगे जा रहे हैं, और जो लोग इन्हें real decisions में इस्तेमाल कर रहे हैं, वे गंभीर गलती कर रहे हैं
कुछ schools छात्रों ने ChatGPT से essays लिखवाए हैं या नहीं यह पकड़ने के लिए AI detectors इस्तेमाल कर रहे हैं, यह सच में अफसोसजनक है
बहुत सारे cases हैं जहां साफ तौर पर इंसान द्वारा लिखे essays को AI-generated mark किया गया
ChatGPT से essays लिखवाकर सिर्फ 30 मिनट खेलें तो ChatGPT style समझ में आ जाता है
अच्छा prompt दें तो उसे दूसरे styles में भी लिखवा सकते हैं, लेकिन सच कहें तो homework ChatGPT से करने वाला व्यक्ति आम तौर पर इसे ChatGPT जैसा न दिखाने की मेहनत नहीं करता
ये काम नहीं करते, और GPT-generated text पहले से ही detect नहीं किया जा सकता
text इंसान ने generate किया है या ChatGPT ने, इसे भरोसेमंद certainty के साथ detect करना असंभव है
ऐसे detectors पूरी तरह टूटे हुए हैं, और simple chain-of-thought prompting से भी ऐसा output मिल सकता है जो ChatGPT जैसा “सुनाई” नहीं देता
उसके बाद उसके AI-detected होने की संभावना इंसान के लिखे text जितनी ही होती है