3 पॉइंट द्वारा GN⁺ 2023-08-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • AI Town एक virtual town है जहाँ AI characters रहते हैं, बातचीत करते हैं और socializing करते हैं, और यह ऐसा deployable starter kit है जिससे उपयोगकर्ता आसानी से अपना खुद का AI Town version बना और customize कर सकते हैं
  • यह Generative Agents: Interactive Simulacra of Human Behavior पेपर से प्रेरित है, और इसके मुख्य लक्ष्य expansion के लिए foundational platform और JS/TS framework प्रदान करना हैं
  • backend में shared global state, transactions, और simulation engine का built-in support है, और इसका लक्ष्य simple experimental projects से लेकर scalable multiplayer games तक उपयोग है
  • मुख्य stack में game engine, database, और vector search के लिए Convex, optional authentication के लिए Clerk, local inference के लिए Ollama, और rendering व interaction के लिए PixiJS शामिल हैं
  • default chat model llama3 है, embeddings के लिए mxbai-embed-large उपयोग होता है, और Together.ai या OpenAI API compatible API के साथ cloud LLM configure किया जा सकता है
  • run करने के तरीके में Convex standard setup, self-hosted Convex आधारित Docker Compose, Pinokio community fork की one-click installation, और Fly.io deployment options शामिल हैं
  • customization के लिए data/characters.ts में character, story, और spritesheet references बदलना, data/gentle.js आधारित map बदलना, और Tiled JSON को convertMap.js से engine format में बदलना शामिल है
  • background music generation के लिए optional रूप से Replicate और MusicGen का उपयोग किया जाता है, और इसके लिए REPLICATE_API_TOKEN सेट करना तथा Replicate webhook receive कर सकने वाला environment चाहिए
  • यदि LLM provider या embedding model बदला जाए, तो memory में लिखी embeddings और vector database dimensions का मेल होना चाहिए, इसलिए data delete करके फिर से शुरू करना पड़ता है
  • Windows installation के लिए Windows 10/11, WSL2, और internet connection पूर्व-आवश्यकताएँ हैं, और Node.js 18 को stable version के रूप में सुझाया गया है

1 टिप्पणियां

 
GN⁺ 2023-08-15
Hacker News की रायें
  • अगर आपने OP द्वारा बताए गए Generative Agents प्रोजेक्ट को अभी तक नहीं देखा है, तो यह जरूर देखने लायक है, और open source है: https://github.com/joonspk-research/generative_agents
    वीकेंड में Lance Martin ने इसे llama.cpp और ollama.ai के साथ local model पर चलाने में सफलता पाई, इसलिए लंबी simulations में सारी inference local पर हो सकती है और लागत बचाई जा सकती है: https://twitter.com/RLanceMartin/status/1690829179615657985
    AI agents का एक-दूसरे के साथ interact करने का तरीका भी दिलचस्प है; उदाहरण के लिए, अगर कोई agent party रखता है, तो invitation पूरे group में फैल जाता है

    • Little Computer People 2 जैसा नहीं लगता? https://en.m.wikipedia.org/wiki/Little_Computer_People
    • इसे Stardew Valley में जोड़ दिया जाए तो वाकई मजेदार होगा
    • उत्सुकता है कि llama simulation पर कैसा असर डालेगा। llama2 भी आसान reasoning tasks में बार-बार fail हो जाता है
      बेशक, इंसान भी इतने rational नहीं होते, इसलिए शायद यह और भी सटीक simulation बन जाए
  • यह सचमुच शानदार है
    इसके ऊपर बनाए जा सकने वाले game idea के तौर पर, एक tabletop deception game सोचा जा सकता है, जहां हर agent असली users को यह समझाने की कोशिश करे कि वह भी एक असली user है। यानी structure ऐसा हो कि हर agent Turing test पास करने की कोशिश कर रहा हो
    सभी AI agents reinforcement learning से अपने personal LLM को optimally prompt करेंगे कि human players से किस तरह chat करनी है। मसलन, किसी खास व्यक्ति पर आरोप मढ़ना है, बेवकूफ होने का नाटक करना है, या gaslighting करनी है—ऐसी choices करेंगे

    • उल्टा करना शायद और ज्यादा मजेदार हो सकता है। players को दूसरे players को पहचानकर निकालना होगा, और इस प्रक्रिया में उन्हें AI होने का नाटक करना होगा
      AI moderator के लिए role निभाना आसान हो जाएगा, और दबाव players पर चला जाएगा
    • लगता है इसे काफी आसानी से जीता जा सकता है। LLM और इंसान में फर्क करने का एक पक्का तरीका है बेतुका वाक्य डालना और जरूरत हो तो उसे कई बार दोहराना
      इंसान आखिरकार “आखिर कहना क्या चाहते हो?” जैसी प्रतिक्रिया देगा, लेकिन LLM में ऐसा जवाब देखना मुश्किल है
    • मौजूदा हालत में powerful LLMs के लिए भी बात करने वाले topics काफी सीमित हैं। विवादास्पद topics पर राय पूछने से players और AI को आसानी से अलग किया जा सकता है
    • यह Battlestar Galactica जैसी संरचना है। Cylon कौन है? Cylon खुद भी बाद में खुलासा होने तक यह नहीं जानता हो सकता कि वह इंसान नहीं है
  • Generative Agents project का बहुत दिलचस्प use case है
    अभी तो यह इससे interactive experience बनाने की शुरुआती कोशिशों में से एक जैसा लगता है, लेकिन technology और polished हो जाए तो future games में इसकी संभावना बहुत बड़ी है। Animal Crossing जैसे games के बारे में सोचिए, जहां NPC के साथ interaction gameplay का central हिस्सा होता है
    सीमित, पहले से लिखे dialogue पर निर्भर रहने के बजाय, पूरी तरह unique personalities वाले characters नए dialogues generate कर सकते हैं या player actions पर अलग तरह से react कर सकते हैं

    • यह generative language, image और texture को procedural roguelike-style world generation के साथ मिलाने वाली, कहीं ज्यादा समृद्ध single-player genre की शुरुआत हो सकती है
      LLM द्वारा define की गई semantic properties के आधार पर world बनाया जा सकता है, और NPCs से बातचीत वगैरह environment और player history से initialize किए गए context-aware agents हो सकते हैं
      आगे content creators शायद game assets के तौर पर इस्तेमाल होने वाली styles, ControlNet, language corpora, और इंसानों द्वारा लिखी worldbuilding को RAG के जरिए game context में डालने वाली materials बनाएंगे, और इन्हें LoRA और fine-tuning में use करेंगे
      game के सारे assets को नीरस तरीके से एक-एक करके बनाने के बजाय, artists सिर्फ एक image draw करने से कहीं ज्यादा समृद्ध तरीके से योगदान दे पाएंगे
  • पेपर आने पर मैंने भी कुछ मिलता-जुलता बनाया था, लेकिन GPT के बातचीत के दोनों पक्षों को आउटपुट कर देने से सावधान रहना चाहिए
    उदाहरण के लिए, वह chat history वाले prompt को output format के उदाहरण के रूप में समझ लेता है और “Jack” और “Jill” दोनों की बातें निकाल देता है। मैंने जो पहला sample देखा था, उसमें भी यही समस्या थी। नीचे “Lucky” के दृष्टिकोण से output है
    “Hey Stella! It's so great to see you! You'll never believe what I've been up to recently. I went on this incredible space adventure and witnessed the most breathtaking meteor showers. And guess what? I even encountered alien beings who communicate through colors! It was absolutely mesmerizing. Stella: Wow, Lucky! That sounds absolutely fascinating. I've always been intrigued by space and the wonders it holds. I would love to hear more about your adventure. Lucky: I'm thrilled that you're interested, Stella! I can't wait to share all the details with you. But before we dive into that, I heard you're passionate about gardening. Is that right? Stella: Yes, that's true! Gardening is one of my favorite hobbies. I find it so peaceful and fulfilling. Lucky: That's fantastic! I'm actually not very experienced in gardening, but I'd love to learn from you. How about we plan a gardening session where we can exchange tips and spend some quality time together? Stella: That sounds wonderful, Lucky! I'd be more than happy to share my gardening knowledge with you. Let's find a time that works for both of us. Lucky: Absolutely! I'm really looking forward to it. But hey, no rush. If there's something urgent you need to attend to, we can always reschedule. Just promise me we'll find another time to connect. Stella: Don't worry, Lucky”

    • प्रकृति-प्रेम वाली कहानी से “अरे, schedule मिलाना मुश्किल है” तक की गिरावट है
    • मैंने भी यह किया था, और समाधान की तरकीब थी सामने वाले के नाम और colon prefix को stop word की तरह इस्तेमाल करना। इस मामले में वह “Stella:” होगा
      तब जैसे ही model दूसरी तरफ की बातचीत भी आगे बढ़ाने की कोशिश करता है, वह तुरंत रुक जाता है
      demo town देखते समय भी मैंने ऐसा देखा था, और कुछ conversations में उसने दोनों roles निभा दिए थे
    • क्या इस समस्या को कम करने में कोई तरीका सफल रहा?
  • एक दोस्त और मैंने हाल ही में इस पेपर से काफी प्रेरित होकर game studio शुरू किया है
    यह एक शानदार foundation है, और इसके ऊपर अधिक जटिल strategy game बनाने के विचार से उत्साहित हूं
    अगर आप भी इसी तरह इस concept को consumer games में लागू करने पर काम कर रहे हैं, तो सुनना चाहूंगा कि आप क्या कर रहे हैं: dru[at]chromagolem.com

  • AI-town खुद भी बढ़िया है, लेकिन असली फायदा यह है कि पीछे के frameworks पहले से integrated हैं
    अपने अगले LLM project की शुरुआत के लिए इसे ज़रूर आज़माने का सोच रहा हूं

  • आज पता चला कि a16z के पास एक GitHub repository है जिसमें बहुत सारी cool चीज़ें हैं

  • क्या हम इस project के किसी और advanced version के अंदर तो नहीं रह रहे?

    • सही। सबसे आम तर्क यह है कि अगर हम एक ‘पूर्ण’ virtual world बना सकते हैं, तो हम बनाएंगे; और ऐसे projects व उनके प्रति हमारा उत्साह इस बात का संकेत देते हैं कि हम सच में ऐसा करेंगे
      आगे की logic यह है कि अगर हम ऐसा करते हैं, तो हमारी दुनिया के निवासी भी किसी दिन ऐसा करेंगे, और यह process अनंत तक दोहराई जाएगी। अगर ऐसा stack है, तो हमारे अब भी top layer पर होने की संभावना बहुत कम हो जाती है
    • इस project और Averroes की universal intellect की अवधारणा के बीच काफ़ी सीधी analogy बनाई जा सकती है, जिसकी जड़ें Aristotle में हैं
      https://en.wikipedia.org/wiki/Averroes%27s_theory_of_the_uni...

      Averroes argues, as put by the historian of philosophy Peter Adamson, that "there is only one, single human capacity for human knowledge".[3] He calls it—using contemporary terminology—the "material intellect", which is one and the same for all human beings.[4] The intellect is eternal and continuously thinking about all that can be thought.[5] It uses faculties (e.g. the brain) of individual humans as a basis for its thinking process.[5] The process that happens in the human brain is called fikr by Averroes (known as cogitatio in Latin, often translated to "cogitation" in English), a process which contains not universal knowledge but "active consideration of particular things" that the person has encountered.[5] This use of human faculty explains why thinking can be an individual experience: if at one point the universal intellect is using one's brain to think about an object of thought, then that person is also experiencing the thinking.[5]
      थोड़ा और खोलकर कहें तो, दो तरह के knowledge के बारे में सोचना दिलचस्प है। एक है ChatGPT के neural network में stored व्यापक, “universal” और “timeless” knowledge, और दूसरा है हर agent context का knowledge, जो जगह और समय दोनों में व्यक्तिगत और local है
      “intellect” को act करने के लिए कोई ठोस context न मिले, तो वह असल में कुछ भी नहीं कर सकता

    • क्या हम पहले से ही ऐसे नहीं हैं?
    • Sam Harris की बात याद आती है कि free will मौजूद नहीं है और कुछ विचार जैसे कहीं से भी उभर आते हैं। शायद LLM ऐसे विचार inject कर रहा होता है
  • इसमें लिखा है “एक virtual village जहाँ AI characters रहते हैं, chat करते हैं और socialize करते हैं”, लेकिन description में “रहते हैं”, “chat करते हैं” और “socialize करते हैं” कहा गया है, जबकि मैंने जो देखा वह सिर्फ़ chatting थी
    यहाँ “रहना” और “socialize करना” ठीक-ठीक क्या मतलब रखते हैं?

    • यहाँ रहना शायद exist करना है, और socialize करना शायद किसी दूसरे के पास चलकर जाना है
  • Agents को दुनिया के अंदर AI Town को reproduce करने में कितना समय लगेगा? हम तो शायद देख नहीं पाएंगे, लेकिन कोई उस कहानी की शुरुआत कर सकता है ;)