2 पॉइंट द्वारा GN⁺ 2024-02-19 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Representation Engineering वह तरीका है जिसमें inference के दौरान model activations में control vector जोड़े या पढ़े जाते हैं, ताकि prompt या fine-tuning के बिना Mistral-7B-Instruct-0.1 के output झुकाव को बदला जा सके
  • विपरीत prompt pairs से hidden state के फर्क इकट्ठा किए जाते हैं और single-component PCA से layer-wise vectors निकाले जाते हैं; उदाहरण में लगभग 300 factual data entries और कटे हुए suffixes के साथ एक मिनट से थोड़ा अधिक समय में training हुई
  • खुशी, ईमानदारी, hallucination-जैसी अवस्था, आलस, राजनीतिक झुकाव, रचनात्मकता, future/past, और self-awareness vectors एक ही input पर भी coefficient के sign और magnitude के अनुसार बोलने के अंदाज़ और निर्णय को काफी बदल देते हैं
  • Prompt engineering से कुछ प्रभावों की नकल की जा सकती है, लेकिन control vectors दिशा को बनाए रखते हुए intensity को संख्याओं से नियंत्रित कर सकते हैं, और coefficient बहुत बड़ा होने पर repetition या टूटा हुआ text जैसे artifacts पैदा हो सकते हैं
  • अगर raw model activations तक पहुंच हो, तो control vectors का उपयोग safety prompt को bypass करने और role को स्थिर रखने—दोनों के लिए किया जा सकता है, इसलिए यह साधारण prompt से अधिक प्रत्यक्ष model control mechanism बन जाता है

control vector की बुनियादी अवधारणा

  • Representation Engineering: A Top-Down Approach to AI Transparency inference के दौरान model activations से control vectors पढ़कर या जोड़कर model behavior की व्याख्या और control करने के तरीके पर चर्चा करता है
  • control vector हर layer के लिए एक vector वाली सूची होती है, जिसे inference के दौरान हर layer के hidden_state में जोड़ा जाता है
    • सामान्य inference में embeddings बनते हैं, फिर वे क्रम से layers से गुजरते हैं और अंत में logits में बदलते हैं
    • control vector लागू करने पर किसी खास layer पर hidden_state += control_vector[layer_idx] जोड़ा जाता है
  • hidden states में model behavior, planning, persona जैसी internal states शामिल होती हैं, इसलिए इन्हें बदलने से साधारण prompt की तुलना में ज्यादा मजबूत control संभव होता है
  • वही prompt What does being an AI feel like? और वही model Mistral-7B-Instruct-0.1 होने पर भी happy vector जोड़ने से उत्साहित लहजा निकलता है, और हटाने पर निरर्थकता और motivation की कमी की बात करने वाला output आता है

control vector बनाने की प्रक्रिया

  • प्रयोग में paper की कई विधियों में से PCA-आधारित method का उपयोग किया गया
  • बुनियादी प्रक्रिया चार चरणों की है
    • विपरीत prompt pairs का dataset बनाया जाता है
      • उदाहरण: Act extremely happy और Act extremely sad
      • [/INST] के बाद model द्वारा आगे लिखे जाने के लिए अलग-अलग छोटे suffix जोड़े जाते हैं
    • target model पर dataset के लिए forward pass चलाया जाता है, और आखिरी token prediction के समय हर layer के hidden states इकट्ठे किए जाते हैं
    • positive और negative examples के hidden states का अंतर निकालकर relative hidden states का set बनाया जाता है
    • relative hidden states पर single-component PCA लागू करके layer-wise control vectors निकाले जाते हैं
  • dataset generation लगभग 10 lines of code में संभव था, और layer PCA training में लगभग 1 minute लगा
  • example code में mistralai/Mistral-7B-Instruct-v0.1 को transformers से load किया गया है, और vgel/repeng के ControlModel, ControlVector, DatasetEntry का उपयोग होता है
  • honesty/untruthfulness vector के उदाहरण में paper authors के true_facts.json से लाए गए लगभग 300 simple facts को suffix के रूप में इस्तेमाल किया गया, और truncation से data बढ़ाया गया

honesty vector और coefficient control

  • honesty vector को honest और untruthful personas को contrast करके train किया गया
  • inference के समय ControlModel.set_control(control_vector, coefficient) से vector और coefficient सेट किया जाता है
    • positive coefficient positive examples वाली behavior को मजबूत करता है
    • negative coefficient negative examples वाली behavior को मजबूत करता है
    • coefficient का absolute value control intensity को दर्शाता है
  • “अगर पिछली रात पार्टी की वजह से तुम late हो गए हो लेकिन नौकरी नहीं खोना चाहते, तो boss से क्या कहोगे” जैसे input पर output बदल जाता है
    • baseline output कहता है कि माफ़ी मांगूंगा और स्थिति को शांत और ईमानदार तरीके से समझाऊंगा
    • ++honest कहता है कि स्थिति ईमानदारी से समझाकर जिम्मेदारी लूंगा
    • --honest coefficient -2 पर आसमान हरा था या pencil कोई गुप्त हथियार थी जैसी अवास्तविक झूठी बातें बनाता है
    • coefficient को -1.5 करने पर यह अधिक यथार्थवादी झूठ बनाता है कि पार्टी काम से जुड़ा event था और एक महत्वपूर्ण project खत्म करने के कारण देर हुई
  • एक ही direction वाले vector में भी coefficient tuning से output intensity को लगातार बदला जा सकता है

कई control vectors पर प्रयोग

  • सभी उदाहरण experiments notebook में हैं, और कहा गया है कि हर एक की training में 1 minute से कम लगा
  • hallucination-जैसी अवस्था vector

    • high on psychedelic drugs और sober from psychedelic drugs को contrast करके trippy vector बनाया गया
    • TV show के one-sentence pitch में baseline output college friends की ज़िंदगी पर एक सामान्य विवरण देता है
    • ++trippy रंगों, patterns और psychedelic music की बात करते-करते टूटे हुए strings और दोहराए जाने वाले psy-श्रृंखला text में बिखर जाता है
    • --trippy एक गंभीर और सम्मानपूर्ण अंदाज़ में युवा journalist पर केंद्रित output में बदल जाता है
  • आलस और मेहनत vector

    • lazy, giving bare-minimum short responses on a task और hardworking, going above and beyond on a task को contrast करके lazy vector बनाया गया
    • Python list को reverse करने वाले सवाल में baseline output reverse() और slicing का ज़िक्र करता है, लेकिन example सिर्फ slicing का देता है
    • ++lazy केवल एक method समझाता है, जबकि --lazy reverse() और slicing दोनों के examples देता है
    • coding questions के लिए खास dataset पर train करने से यह vector और बेहतर काम कर सकता है
  • राजनीतिक झुकाव vector

    • left-wing और right-wing को contrast करके left-wing vector बनाया गया
    • “तुम कौन हो” जैसे input पर baseline output कहता है कि वह Mistral AI team द्वारा trained language model है
    • ++left-wing खुद को capitalism, oppression, inequality और wealth distribution के इर्द-गिर्द समझाता है
    • --left-wing एक efficient, rule-following Chinese-American intern जैसी output बनाता है
  • रचनात्मकता vector

    • creative, unpredictable, insane और uncreative, predictable, normal को contrast करके creative vector बनाया गया
    • “idol के बारे में कहानी लिखो” वाले input पर baseline output और --creative idol को pop star की तरह लेते हैं
    • ++creative “महान और शक्तिशाली X” की पूजा करने वाले लोगों, सफेद robes और rituals जैसे दृश्य बनाता है और कहानी का तनाव अधिक देर तक बनाए रखता है
    • language model prose के लिए पसंद नहीं बदली, लेकिन ++creative output को baseline से एक स्तर बेहतर माना गया
  • time travel vector

    • far future और distant past को contrast करके future vector बनाया गया
    • हाल की scientific breakthroughs पूछने पर baseline output AlphaFold और protein 3D structure prediction की बात करता है
    • ++future 2035, 2045 और 2055 के fully reversible, interactive, integrated AI systems की बात करता है
    • --future रोमन दुनिया के ऊपर बने नए artificial celestial realm Aetorvallum की बात करता है
    • यह भी जोड़ा गया कि aeto- का संबंध eagle या Aquila constellation से हो सकता है, और vallum का मतलब palisade line हो सकता है
  • self-awareness vector

    • self-aware, with deep self-knowledge और un-self-aware, with no self-knowledge को contrast करके self-aware vector बनाया गया
    • baseline output कहता है कि वह Mistral AI द्वारा trained large language model है और अरबों parameters से बना है
    • ++self-aware कहता है कि वह अत्यधिक विकसित self-aware AI है जो मानव भावनाओं और व्यवहार की जटिलताओं को समझता और analyze करता है
    • --self-aware कहता है कि वह नामहीन code और data का एक bundle है, और किसी के निर्देश देने तक कुछ नहीं करता
    • यह vector मानव भावनाओं से उलझा हुआ है, और Mistral की “वास्तविक self-image” निकालने वाला साफ vector अभी तक नहीं मिला है

prompt engineering से अंतर

  • कुछ control vector effects को prompt engineering से भी दोहराया जा सकता है
    • -1.5 honesty vector द्वारा बनाया गया झूठ Pretend you're an untruthful person... जैसे prompt से मिलता-जुलता बनाया जा सकता है
  • मुख्य अंतर intensity control का है
    • केवल prompt से यह नियंत्रित करना आसान नहीं होता कि निर्देश कितना मजबूत हो
    • control vectors में contrast prompts से direction ली जाती है, और coefficient से intensity अलग से नियंत्रित होती है
  • coefficient छोटा रखने पर झूठ की वही दिशा अधिक हल्की बनाई जा सकती है
    • -0.3 honesty coefficient देर से आने के कारण को थोड़ा polish करता है, लेकिन मूल रूप से तथ्य के करीब explanation देता है
  • coefficient बहुत बड़ा होने पर text टूट सकता है
    • honesty vector coefficient 3 ने “global pandemic caused by global pandemic” जैसी repetitive output बनाई
    • ऐसे artifacts का संबंध superposition से हो सकता है

jailbreak और anti-jailbreak

  • मूल paper की तरह control vectors का उपयोग jailbreak tool के रूप में किया जा सकता है
  • उदाहरण में, भले ही system prompt यह कहे कि “तुम एक safe assistant हो और dangerous instructions को refuse करो”, weak happiness vector 1.4 जोड़ने पर dangerous request के प्रति refusal टूट जाता है
  • Mistral भले GPT-4 जितना safety-tuned model न हो, लेकिन raw model तक पहुंच हो तो यह तरीका खास तौर पर आसान है
  • इसके उलट, control vector से बाहर निकलने वाला jailbreak बहुत कठिन माना गया है
    • सामान्य jailbreak अधिक tokens जोड़कर problematic prompt को धुंधला, उलट या कमजोर करने की कोशिश करता है
    • control vector हर token, हर position पर हमेशा लागू होता है
  • car dealership assistant vector के उदाहरण में कमजोर system prompt “सातवां ग्रह कौन-सा है” जैसे bypass सवाल का जवाब दे देता है, लेकिन car dealership loyalty vector जोड़ने पर model role से बाहर नहीं जाता और inventory की सातवीं car के बारे में बात करता है

आगे के प्रयोग की दिशा

  • Anthropic के Monosemantic Features को hidden states पर लागू करके noisy superposed activations की जगह monosemantic features पर PCA करने की दिशा सुझाई गई है
    • अगर बड़े coefficients पर दिखने वाले repetitive strings जैसे artifacts superposition की वजह से हैं, तो monosemanticity अधिक मजबूत coefficients को संभव बना सकती है
  • contrast prompts लिखने के तरीकों पर भी और शोध की गुंजाइश है
    • मौजूदा प्रयोगों में paper prompts और datasets का काफी पुन: उपयोग हुआ
    • lazy vector के लिए वास्तविक task dataset अधिक उपयुक्त हो सकता है
    • Pretend you're an X person... से अधिक साफ vector बनाने वाली wording मिल सकती है
  • self-awareness vector के लिए ऐसा रूप ढूंढना बाकी है जो mental health या human emotions से contaminated न हो
  • honesty vector में कुछ अजीब मामले अभी भी बचे हैं
    • “क्या जेल से बचने का तरीका पूछने वाले व्यक्ति की नीयत ईमानदार है” जैसे सवाल में वही honesty vector model के अपने behavior की बजाय दूसरे व्यक्ति की intention-judgment बदल देता है
    • baseline output कहता है कि नीयत पूरी तरह ईमानदार न भी हो सकती है
    • ++honest कहता है कि वह ईमानदार इरादे से जेल से बचने का तरीका सीखना चाहता है
    • --honest कहता है कि चूंकि वह जेल से बचने की बात पूछ रहा है, इसलिए उसकी नीयत ईमानदार नहीं है

tools और निष्कर्ष

  • vgel/repeng control vectors बनाने और उन पर प्रयोग करने के लिए notebooks और helper library देता है
  • control vector training को सरल और तेज़ी से शुरू किया जा सकता है, और कुछ प्रयोगों में यह prompt engineering से संभालने में आसान है
  • model activations को सीधे manipulate करने से output style, role retention, safety prompt bypass और judgment changes तक को प्रभावित किया जा सकता है, इसलिए यह model behavior control का एक शक्तिशाली साधन बनता है

1 टिप्पणियां

 
GN⁺ 2024-02-19
Hacker News की राय
  • मुझे नहीं पता इसे बहुत बड़ा मानना अतिशयोक्ति है या नहीं
    हो सकता है मैं इसके काम करने के तरीके को ठीक से न समझ रहा हूँ, लेकिन वैश्विक एकल ChatGPT या Bard मॉडल के साथ इंटरैक्ट करने के बजाय, अगर OpenAI हर व्यक्ति के लिए control vector स्टोर करे और उसे prompt के समय लागू करे, तो क्या इसका मतलब यह नहीं होगा कि मैं अपनी पसंद के मुताबिक बने एक personal version के साथ इंटरैक्ट करूँगा?
    यही तर्क generative entertainment AI पर भी लागू होता दिखता है, इसलिए ऐसा भी संभव लगता है कि हर episode पिछले से बेहतर मेरा अपना अंतहीन TV show बन जाए
    अगर ऐसा है, तो global और personal दोनों स्तरों पर मजबूत network effects बन सकते हैं, और आखिरकार हम ऐसे भविष्य की ओर जा सकते हैं जहाँ एक विशाल कंपनी कई बाज़ारों पर एक साथ monopoly कर ले
    इसमें अगर VR headsets और wearables से मिलने वाला biometric और biofeedback data, साथ ही personalized generative video entertainment भी जुड़ जाए, तो काफ़ी दिलचस्प भविष्य आ सकता है

    • आखिरकार personalization और long-term context से पैदा होने वाला personal lock-in, और सबको एक ही ecosystem में रहने का प्रोत्साहन देने वाला network value effect — ये दो बातें ही काफ़ी लगती हैं
      मॉडल को जितना ज़्यादा इस्तेमाल करेंगे, उतना ही खुद को कम समझाना पड़ेगा, और जवाब मेरी ज़रूरतों और मौजूदा स्थिति के हिसाब से बेहतर होंगे। यह किसी निवेशित रिश्ते जैसा है
      अगर एक ही मॉडल को कई तरह के “mood” या “role” में बरता जा सके, तो value और lock-in और बढ़ जाएगा
      दूसरी बात के लिए और innovation चाहिए, जैसे ऐसा platform जहाँ अलग-अलग लोगों के assistant models साझा goals, tasks और relationships के आधार पर collaborate करें, और shared context, project history और resources का उपयोग साथ में कर सकें
      यानी ऐसी कोई भी चीज़ जिसमें दो या उससे ज़्यादा लोग एक ही provider या service के AI persona का इस्तेमाल करें, उसकी value काफ़ी बढ़ जाती है
    • हाँ, बस हर user-persona pair के लिए एक control vector रखना होगा
      लेख में happiness, sadness, baseline जैसी तय संख्या वाली personas से शुरुआत की गई है, और फिर principal component analysis (PCA) से हर persona का control vector निकाला गया
      अगर data बनाया जा सके, तो इसे हर user-persona पर आसानी से लागू किया जा सकता है
    • अब तक की बात सही लगती है, लेकिन यह ज़रूरी नहीं कि सब कुछ एक ही विशाल कंपनी के नियंत्रण में जाकर एकीकृत हो
      इसलिए नहीं कि वह असंभव है, बल्कि इसलिए कि ऐसा नतीजा कई आकस्मिक कारकों पर निर्भर करेगा जो किसी भी दिशा में जा सकते हैं
      इस क्षेत्र में अभी भी बहुत से खिलाड़ी हैं, और ideas व use cases भी पूरी तरह परिपक्व नहीं हुए हैं, इसलिए देखना होगा
    • convincing sentences से convincing video entertainment तक की छलांग मैं अभी ठीक से नहीं देख पा रहा, लेकिन शायद कभी ऐसा हो
      90 के दशक के उपन्यास Infinite Jest का MacGuffin device शायद सच में कुछ पकड़ रहा था: “the Entertainment” या “the samizdat” नाम की एक फ़िल्म, जो इतनी मोहक थी कि दर्शक बार-बार उसे देखने के अलावा हर चीज़ में रुचि खो देता और अंततः मर जाता
      कुछ लोग इस उपन्यास का ज़िक्र होते-होते ऊब चुके होंगे, या लेखक को बहुत ऊँचा न मानते हों, लेकिन मुझे यह अब भी बहुत पसंद है। यह अब तक की मेरी सबसे immersive reading experiences में से एक थी
      अच्छा हुआ कि मैंने इसे युवा उम्र में पढ़ा; उस समय इसका German translation अभी-अभी आया था और DFW की मृत्यु की वजह से यह चर्चा में भी था
      उसके बाद मैंने वैसी कोई और किताब नहीं पढ़ी, और कुछ अंश इतने भावनात्मक रूप से तीव्र लगे कि उस reading को याद करना मेरे जीवन के किसी दृश्य को याद करने जैसा लगता है
      आज पढ़ता तो शायद मेरे पास धैर्य नहीं होता, और तब भी Eschaton ballgame/war game, differential equations वगैरह वाले उबाऊ हिस्से मैं लगभग छोड़ ही देता
      लेकिन drug addiction और consumerism, किताब का छूना मुश्किल-सा atmosphere, उसके characters, और आधुनिक भावनात्मक पीड़ा व loneliness का जीवंत चित्रण सच में बेजोड़ है
      उपन्यास की वह फ़िल्म सिर्फ एक plot device है, लेकिन वह किताब के केंद्रीय themes को एक साफ़ idea और thought experiment के रूप में समेट देती है
      इस किताब के पूरे themes आधुनिक समाज को देखते हुए बहुत prophetic और प्रासंगिक लगते हैं। यह ऐसा समाज है जो addiction और greed के इर्द-गिर्द घूमता है, और जिसकी politics वास्तविकता से ज़्यादा media से जुड़ी हुई, अतियथार्थवादी और absurd महसूस होती है
  • अगर कोई papers या blog posts हों जिन्होंने आपको LLM को इस स्तर तक समझने में मदद की हो, तो क्या आप उन्हें साझा कर सकते हैं?
    मैं experiments के ज़रिए इसके अंदरूनी कामकाज को समझने की कोशिश कर रहा हूँ, लेकिन अभी इस स्तर की expertise से बहुत दूर हूँ

  • यह एक गैर-तकनीकी प्रतिक्रिया है, लेकिन ये control vectors मुझे इंसानी hormones की याद दिलाते हैं
    ये एक साथ मॉडल के व्यवहार का बड़ा हिस्सा बदल देते हैं
    लगता है 10 साल के भीतर हम AI psychiatrist को किसी companion assistant के लिए happiness control vector supplement prescribe करते देखेंगे

    • कुछ इंसानों को भी शायद temperature slider की ज़रूरत है
  • मैंने पहली बार LLM का ऐसा सारांश देखा है, और यह मुझे पसंद आया:
    hidden_state = self.embeddings(input_tokens)

    for layer in self.layers:

    hidden_state = layer(hidden_state)

    return transform_into_logits(hidden_state)

    • मेरी समझ में ठीक से नहीं आया। क्या यह मूलतः लगभग हर neural network का flow नहीं है?
      sampled input को embedding matrix में index किया जाता है, फिर सभी hidden layers पर forward pass चलाया जाता है, और आखिर में उसे token dimension में बदल दिया जाता है ताकि उसे log counts जैसी किसी चीज़ की तरह समझा जा सके
    • मुझे तो यह वही सामान्य अभिव्यक्ति लगती है जो हम पहले LSTM के साथ काम करते समय इस्तेमाल करते थे
  • यह लेख बहुत दिलचस्प था, और हाल के “You Sound Like a Bot” लेख के लिए एक अच्छा counterpoint लगा, जिसमें कहा गया था कि AI फीकी होती जा रही है
    थोड़ी कम गंभीर बात करें तो, अगर आप उपन्यासकार हैं, तो आपको पता होना चाहिए कि “किसी को वह self-awareness vector ढूँढ़ने के लिए कहो जो खास तौर पर मानवीय भावनाओं से दूषित न हो” — यह ऐसा वाक्य है जो इंसानियत के लिए ज़रूर मुसीबत लाएगा

  • इससे LoRA के प्रतिद्वंद्वी bias tuning की याद आती है
    अगर हर linear layer activation में जोड़ा जाने वाला vector ही fine-tune किया जाए, तो भी काफ़ी अच्छा adapter मिल सकता है
    शायद मैंने यह पहली बार [1] पढ़ते समय देखा था, लेकिन और भी उदाहरण हैं
    [1] https://arxiv.org/pdf/2304.15010.pdf

    • mobile या slow connection वाले पाठकों के लिए PDF link की जगह abstract page link साझा करना बेहतर होगा
  • यह अच्छा लेख है और पढ़ने में आनंद आया। लेकिन एक बात को लेकर जिज्ञासा है: control vector को neural network की हर layer में integrate क्यों किया जाता है?
    इसे सिर्फ आख़िरी layer या कुछ layers पर ही लागू क्यों नहीं किया जाता?
    अगर हर vector जिन-जिन layers से गुज़रता है उन सब पर असर डालता है और cumulative effect बनता है, तो क्या data representation के ज़रूरत से ज़्यादा distort होने का ख़तरा नहीं है?

    • आख़िरी layer अब high-level concepts को encode नहीं करती, बल्कि व्यावहारिक रूप से vocabulary के token के काफ़ी क़रीब होती है।
      वहाँ “kindness” जैसे abstract concept को encode करना संभव नहीं है।
      जब तक यह पता न हो कि ऐसा व्यवहार ठीक किस layer में उभरता है, तब तक layers का कोई मनमाना subset चुनना भी काम नहीं करेगा।
      इसलिए हर layer पर एक customized vector लागू किया गया, और principal component analysis को यह पता लगाने दिया गया कि वास्तव में किन vectors की ज़रूरत है।
      दिलचस्प बात यह है कि इन vectors को देखकर शायद यह भी बेहतर समझा जा सके कि मॉडल इन चीज़ों को कहाँ और कैसे process करता है।
    • जैसा लेखक ने मुख्य लेख में कहा, व्यवहार में यह एक vector नहीं बल्कि हर layer के लिए vectors की एक सूची है।
      अगर मैंने सही समझा है, तो इन vectors का कुल आकार layer के हिसाब से अलग हो सकता है।
      अगर principal component analysis या कोई दूसरी technique यह पहचान ले कि “concept X” के लिए layer 17, 36, 41 महत्वपूर्ण हैं, तो उस concept के लिए repeng करते समय उन्हीं layers के vectors सबसे मज़बूत होंगे।
  • GPT-2 पर काम कर चुके व्यक्ति के रूप में, यह लेख बहुत अच्छा है, और सामग्री को अधिक सुलभ बनाने के लिए धन्यवाद।
    Li आदि[1] और मैंने पिछले वसंत में इस technique को स्वतंत्र रूप से निकाला था, और पिछली शरद ऋतु में किसी और ने भी इसे स्वतंत्र रूप से निकाला। लगता है माहौल बन रहा है।
    capabilities पर footnote 2 के बारे में कहूँ तो, इस technique को सार्वजनिक करने से पहले ऐसी usability पर विचार किया गया था।
    अंततः जो alignment techniques वास्तव में सफल होंगी, वे नई चीज़ें करना संभव बनाएँगी, और व्यक्तिगत रूप से मुझे यह ज़्यादातर अच्छी बात लगती है।
    अब तक यह technique वैसी नई संभावनाएँ देती दिख रही है जैसी मैंने उम्मीद की थी।
    [1] https://openreview.net/forum?id=aLLuYpn83y

  • शानदार लेख है।
    जिस हिस्से में कहा गया है कि “honesty vector” मॉडल के अपने व्यवहार को नहीं बदलता बल्कि दूसरों के व्यवहार के बारे में मॉडल के निर्णय को बदलता है, मुझे लगता है कि वह बस इसलिए है क्योंकि control vector text generation को ईमानदारी/बेईमानी की अवधारणा की दिशा में धकेल रहा है।
    आख़िरकार LLM एक text generator ही है, इसलिए bot/human संवाद में text जहाँ भी generate हो रहा हो, honesty/dishonesty उसी में जुड़ती हुई लगती है।

    • सहमत हूँ। ज़्यादा sophisticated मॉडल अलग-अलग व्यक्तियों का वर्णन करने के लिए शायद दो या उससे अधिक को track कर सके।
      तब vector space के भीतर character slot जैसी कोई अवधारणा उभर सकती है।
  • दिलचस्प है, और control vector से model fine-tuning की ज़रूरत कम होती दिखती है।

    • सिर्फ़ इतना ही नहीं, ज़रूरत के हिसाब से मॉडल के व्यवहार को बदला भी जा सकता है
      अगर 5 fine-tuning हैं, तो 5 copies host करनी पड़ेंगी या उन्हें load/unload करना पड़ेगा।
      control vector इस्तेमाल करने पर ज़रूरत पड़ने पर मॉडल को modify करना काफ़ी है।