Görüntü kaynağı: Sınırsız AI tarafından oluşturuldu
Şaşırtıcı! GPT yetenek ağacı yeniden büyüdü ve artık oyunu doğrudan bile yapabilirsiniz!?
Biliyorsunuz, içinde bulunduğumuz çağ artık küçük bir oyun yaparak piyasayı ele geçirebileceğiniz geçmiş çağ değil. Günümüzün oyun geliştirme süreci çok karmaşıktır.
İnsan gücü ile başlayalım, her oyun takımının personeli düzinelerce hatta yüzlerce olarak sayılır. Birisi programlamadan sorumludur, biri sanattan sorumludur, biri bakımdan sorumludur vb.
Her oyun ayrıca büyük bir kod tabanına ve malzeme kütüphanesine sahiptir.
Sonuç olarak, harika bir oyun geliştirmek çok fazla insan ve tamamlanması için çok zaman gerektirir. Ve bu süre genellikle birkaç yıldır.
Daha sezgisel olarak, paradır.
Oyun ekibi, insanların hatırlayacağı ve seveceği bir başyapıt geliştirdi ve bütçesi 100 milyon doları aşacak.
Yoksa oyun üretimi bir nevi aşkla üretilen bir elektriktir.
Şimdi, işler değişti!
Araştırmacılar, oyun geliştirmedeki bazı süreçleri otomatikleştirmek için birden fazla AI aracısını entegre edebilen GameGPT adlı bir model geliştirdiler.
Ve farklı ajanlar kendi görevlerini yerine getirir ve düzenli bir şekilde çalışır.
Oyunun tasarım planını gözden geçirmekten ve ilgili değişiklikleri ve ayarlamaları yapmaktan sorumlu temsilciler vardır; Bazıları görevleri somut koda çevirmekten sorumludur; Bazıları, önceki adımda oluşturulan kodu kontrol etmekten ve çalışan sonuçları gözden geçirmekten sorumludur; Ayrıca, tüm işlerin ilk beklentileri karşıladığını doğrulamaktan sorumlu temsilciler de vardır.
Bu şekilde GameGPT, iş akışını iyileştirerek ve ayrıştırarak yapay zeka aracılarının çalışmasını basitleştirebilir. Bu tür bir performans, her şeyi yapan çok güçlü bir temsilciden daha verimli ve elde edilmesi çok daha kolaydır.
Araştırmacılar, GameGPT'nin kod testi gibi geleneksel oyun geliştirme sürecinin bazı tekrarlayan ve katı yönlerini basitleştirebileceğini söylüyor.
Çok sayıda geliştirici, karmaşık denetim çalışmalarından kurtulabilir ve yapay zeka ile değiştirilemeyecek daha zorlu tasarım bağlantılarına odaklanabilir.
Tabii ki, bu makale hala nispeten ön aşamadadır. Performans iyileştirmelerini gösteren somut sonuçlar veya deneyler yoktur.
Başka bir deyişle, hiç kimse GameGPT ile bir oyun geliştirmedi ve model hala kavramsal aşamada ve belirli uygulama sonuçları ve ölçülebilir veriler olana kadar değerlendirmek zor.
Ancak, her zaman üzerinde çalışılması gereken bir yöndür.
Bazı netizenler, insanların LLM hakkındaki fikirlerinin biraz önyargılı olduğunu söyledi. Artık araştırmacılar NLP sorunlarının %100'ünü çözen bir araca sahipken, insanlar yalnızca belirli iş akışlarını otomatikleştirmeyi önemsiyor.
Örneğin, oyun dünyasının kararlarınıza kural tabanlı, sabit kodlanmış bir motor olarak beş dakika içinde yargılayabileceğinizden daha normal tepki verdiğini hayal edin.
Bir oyunun, verdiğiniz kararlara göre sizin için yan görevler hazırlayabildiğini hayal edin (yol boyunca gördüğünüz düşmanları rastgele katletmek vb.).
Geliştiriciler böyle bir sistem oluşturduklarında, bunları kodlamak yerine LLM'ye rehberlik etmek için ipucu mühendisliğini kullanırlar.
Ancak bunun amacı maliyetten tasarruf etmek değil, daha önce daha fazla oyun yapmanın mümkün olmadığı bir aşamada oyun yapmak (biraz ağız dolusu değil mi?).
Oyun GPT'si
İlk olarak, GameGPT modelinin büyük çerçevesine bir göz atalım - tüm süreç.
Gördüğünüz gibi, yazar her bir ajanı kişileştirir ve kendi görevlerini nasıl yerine getirdiklerini daha canlı bir şekilde gösterir.
Sürecin en sol tarafında GameGPT'ye girilen kullanıcı tarafı bulunur ve ardından geliştirme yöneticisi ve inceleme ön planlama yapar.
Gereksinimler daha sonra belirli görevleri yerine getirmek ve kod oluşturmak için geliştirme mühendislerine ve oyun motoru mühendislerine gönderilir.
Son olarak, herhangi bir eksiklik olup olmadığını kontrol edin, sol tarafa geri gönderin ve tekrar çalıştırın. Değilse, sağa doğru devam edin ve muayeneden sorumlu mühendis testi gerçekleştirecektir.
**AI geliştirme oyunu?? **
Aslında, yapay zeka tarafından geliştirilen oyun tarihinin temelleri daha da geriye gidebilir.
Yapay zekanın oyun geliştirmede uygulanması, StarCraft ve Diablo gibi klasik oyunlara kadar izlenebilir. O zamanlar geliştiriciler, etkileşimli sanal dünyalar ve karakterler oluşturmak için yapay zeka sistemlerine ihtiyaç duyuyordu.
Bu sistemler, bu tür etkileşimli platformların geliştirilmesi için standart hale gelmiştir.
Oyun geliştirmede yapay zeka ile ilgili ilk araştırmalar, oyuncu olmayan karakterleri (NPC'ler) kontrol etmeyi vurguladı ve doğal dil işleme (NLP) teknolojisinin gelişmesiyle birlikte, seviyeler oluşturmak için derin öğrenme tekniklerini kullanan bazı öncü çalışmalar yapıldı.
Başyapıtlardan biri, ince ayarlı bir GPT-2 modeli aracılığıyla Super Mario Bros.'taki bazı seviyeleri başarıyla oluşturan MarioGPT'dir.
LLM, bu yıl hem NLP hem de bilgisayarla görme (CV) alanında iyi sonuçlar elde ederek büyük adımlar attı.
LLM eğitiminin çok aşamalı bir süreç olduğunu biliyoruz. İlk aşama, bu modellerin kapsamlı bir külliyat içinde eğitilmesinden ve temel dil becerilerinin kazanılmasının kolaylaştırılmasından oluşur.
Bunu, talimatlar aracılığıyla çeşitli NLP görevlerinden veri üreterek modele ince ayar yapmak olan daha önemli bir aşama takip eder. Bu talimat ayarı, modelin geniş bir uygulama yelpazesinde genelleme yeteneğini geliştirir ve LLM'nin önceki eğitimde gerçekleştirilmemiş görevlerde hatasız performans elde etmesini sağlar.
Son olarak, İnsan Geri Bildirimi Takviyeli Öğrenme (RLHF) aşaması, modelin yapısal bütünlüğünü ve güvenilirliğini garanti eder.
Buradaki başka bir uyarı – RLHF aşaması, modelin insan stilini taklit eden içerik oluşturmasına olanak tanıyarak bir ajan olarak çok yönlülüğünü artırır.
Ek olarak, LLM'deki gelişmeler, yazılım geliştirme sürecinde aracıların otomasyonunu teşvik etmiştir. Birçok çalışma, farklı görevleri yerine getirebilen LLM tabanlı bir ajanın nasıl geliştirileceği sorusuna odaklanmıştır.
Örneğin, AutoGPT, gerçek dünyada belirli karar verme görevlerini yerine getirmek için LLM aracılarını kullanırken, HuggingGPT, daha karmaşık AI görevlerini koordine etmek için denetleyici olarak tek bir LLM kullandı.
Bu yöntemler tek bir LLM aracısına dayansa da, hepsi kararı iyileştirmek için bir gözden geçiren (yukarıdaki akış şemasındaki gözden geçiren) ekler.
Veya örnek olarak AutoGPT'yi ele alalım, model kendi performansını iyileştirmek için denetlenen öğrenciden bazı yardımcı görüşler alacaktır ve HuggingGPT, karar vermenin doğruluğunu değerlendirmek için bir gözden geçiren yapmak için GPT-4'e de bağlanabilir.
Çeşitli yazılımların geliştirilmesini otomatikleştirmek için kullanılabilecek çok aracılı bir çerçeve sunan MetaGPT gibi başka örnekler de vardır.
Bugün tartıştığımız oyun geliştirmeye geri dönersek, genel yazılım geliştirmeden farklı olarak oyun geliştirme endüstrisinin trendlere ayak uydurması gerektiğini, bu nedenle en iyi verimi elde etmek için tüm geliştirme sürecinin daha kesin ve özlü olması gerektiğini bilmemiz gerekiyor.
Buna ek olarak, illüzyonlar ve yüksek doğruluk olmadan oyun geliştirmenin tüm geliştirme döngüsüne hizmet etmek için tek bir LLM'yi değiştirmek ve kullanmak pratik değildir ve maliyetlidir.
Bu nedenle, oyun geliştirme yapay zekasının çerçevesi, dil modellerinin doğasında bulunan halüsinasyon eğilimlerini etkili bir şekilde hafifletebilen birden fazla gözden geçirenin katılımını gerektirir.
Araştırmacılar ayrıca dil modellerinin oyun geliştirmede başka bir sınırlaması olduğunu buldular - fazlalık. LLM, oyun oluşturulduğunda gereksiz, bilgilendirici olmayan görevler veya kod parçacıkları oluşturabilir.
İllüzyon ve fazlalık sorununu etkili bir şekilde ele almak için, günümüzün kahramanı GameGPT, ikili işbirliği, dahili sözlükler aracılığıyla talimat ince ayarı ve kodun ayrıştırılması dahil olmak üzere soruna stratejik olarak çeşitli yaklaşımlar benimsiyor.
İkili işbirliğinin, LLM ve küçük derin öğrenme modelleri arasındaki etkileşimin yanı sıra, yürütmeden sorumlu ajan ile gözden geçiren ajan arasındaki işbirlikçi katılımı içerdiğini belirtmekte fayda var.
Araştırmacılar, bu sinerjilerin GameGPT'nin yanılsamasını ve fazlalığını azaltmada etkili olduğunu kanıtladığını söylüyor.
Yönteme giriş
Daha sonra, araştırmacılar GameGPT'nin yeniliğini tüm süreçten ayırdılar.
Her şeyden önce, oyun tasarım aşamasında, bir kullanıcı talebi aldıktan sonra, GameGPT'nin görevleri arasında tüm oyun için bir geliştirme planı oluşturmak yer alır. Bu planlama aşaması, tüm geliştirme sürecinin sorunsuz ilerlemesini büyük ölçüde etkileyen kilit adımlardan biridir.
Bu aşama, bir başlangıç planı yapan ve ardından bunu bir görev listesine bölen LLM tabanlı bir oyun geliştirme yöneticisi tarafından planlanır.
LLM'nin doğasında var olan sınırlamalar nedeniyle, bu ilk planın genellikle halüsinasyonlar sunduğunu ve bilgilendirici olmayan veya gereksiz gereksiz görevler de dahil olmak üzere beklenmedik görevlerle sonuçlandığını belirtmekte fayda var.
Bu sorunları ele almak için araştırmacılar, birbirine dik olan ve daha iyi sonuçlar için katmanlar halinde gerçekleştirilebilecek bu zorlukları azaltabilecek dört strateji önerdiler.
Birinci senaryo: Oyun türünü belirlemek için gelen istekleri kategorilere ayırın. Şu anda GameGPT çerçevesi, aksiyon, strateji, rol yapma, simülasyon ve macera olmak üzere beş farklı oyun türünün geliştirilmesini desteklemektedir.
Araştırmacılar, her tür için, oyun geliştirme yöneticisi temsilcilerine ilgili bilgileri içeren şablonlar aracılığıyla rehberlik eden standartlaştırılmış planlama şablonları sağlar.
Bu yaklaşımı benimseyerek, gereksiz görevlerin sıklığı önemli ölçüde azalırken, halüsinasyonların meydana gelme olasılığı da artar.
İkinci strateji: başka bir LLM tabanlı ajan olan program denetçisi ajanının katılımını içerir. Bu ajan, görev planının kapsamlı bir incelemesini sağlamak için dikkatli bir tasarımla çalışır.
Temel amacı, halüsinasyonların ve fazlalıkların oluşumunu en aza indirmektir. Bu temsilci değerlendirme programı, doğruluğunu, verimliliğini ve basitliğini iyileştirmek ve artırmak için geri bildirim sağlar.
Aynı zamanda, bu bölümde oluşturulan talimatlar, oyun geliştirme yöneticisinin temsilcisi için yeni girdi olarak kullanılabilir ve bu da görev planını daha doğru ve mükemmel hale getirir.
Strateji 3: Oyun geliştirme düzeyinde daha iyi plan yapmak için oyun geliştirme yöneticisinin temsilcisinin LLM'sini özel talimatlarla ayarlayın. Bu ince ayar işleminin amacı, modelin hem doğru hem de özlü bir plan üretmesini sağlamaktır.
Kolaylık sağlamak için araştırma ekibi, birçok girdi ve çıktı kombinasyonunu içeren dahili bir veri kümesi topladı ve entegre etti. Bu kombinasyonlar, uzunluk veya yapı olarak standart formata uymasa da, hepsi oyun geliştirmenin gereksinimleri etrafında döner.
Sabit karışımın bu kısmı, sektördeki geliştiriciler tarafından sağlanmaktadır.
Araştırmacılar bu yaklaşımı benimseyerek, LLM'nin genel dil becerileri ile oyun geliştirme planlama becerileri arasındaki boşluğu etkili bir şekilde kapattılar.
Strateji 4: Planlama aşamasında "güvenlik ağı". Planlama süreci boyunca, Oyun Geliştirme Yöneticisi Temsilcisi ara sonuçları her zaman ön uç arayüzünde kullanıcıyla paylaşır ve diğer temsilcilerin her zaman hangi geliştirmenin devam ettiğini bilmesini sağlar.
Bunu geliştirmek için araştırmacılar, kullanıcıların beklentilerine göre planları aktif olarak gözden geçirmelerini, düzeltmelerini ve geliştirmelerini sağlayan etkileşimli bir yaklaşım entegre ettiler. Bu yaklaşım aynı zamanda tasarım planı ile kullanıcının ihtiyaçları arasındaki tutarlılığı da garanti eder.
Bu stratejileri bir kenara bıraktığımıza göre, GameGPT'nin avantajlarına bir göz atalım.
İlk olarak, bu modeldeki görev sınıflandırma süreci, görev türlerini ve bunlara karşılık gelen parametreleri tanımlamada yüksek doğruluk gerektirir.
Bu nedenle, bu aşamada doğruluğu sağlamak için araştırmacılar, oyun geliştirme mühendisi adı verilen bir ajan oluşturdular. Aracı, görev sınıflandırma sürecine katılmak için birlikte çalışan iki modelden oluşur.
Bu işbirlikçi yaklaşım, görev tanımlamanın doğruluğunu ve etkinliğini artırır. Aynı zamanda, LLM yanılsamalarının ortaya çıkmasını önlemek ve görev sınıflandırmasının doğruluğunu artırmak için, araştırmacılar oyun geliştirmede ortaya çıkabilecek görev türlerinin bir listesini sağladılar.
Bunu daha iyi sınıflandırmak için BERT modelini benimsediler.
BERT modeli, dahili bir veri kümesiyle tamamen eğitilmiştir. Bu veri kümesi, oyun geliştirme görevine uyarlanmış veri öğeleri içerir. Girdi önceden belirlenmiş bir listeden alınır ve çıktı, görevin belirtilen kategorisine karşılık gelir.
Görev türlerinin ve parametrelerinin gözden geçirilmesi bu aşamada gerçekleştirilir ve esas olarak her bir kategorinin tanımlanmasından ve parametrelerin makul olup olmadığından sorumlu olan görev gözden geçirici adı verilen bir aracı tanıtılır.
Gözden geçirme süreci, görev türünün önceden belirlenmiş bir aralıkta olup olmadığının ve en uygun görev olup olmadığının gözden geçirilmesini içerir. Aynı zamanda, görevle uyumlu olup olmadığını görmek için parametre listesini de kontrol eder.
Bağlamsal görev bilgilerine dayalı bazı durumlar gibi bazı senaryolarda veya kullanıcı isteğinin parametrelerden çıkarılamadığı durumlarda, GameGPT bunları çözmek için proaktif bir yaklaşım benimser.
Gözden geçiren, ön uç arabiriminde bir istem başlatarak ve parametreler için gerekli ek bilgileri isteyerek kullanıcının dikkatini çeker.
Bu etkileşimli yaklaşımın yararı, otomatik akıl yürütme yetersiz olduğunda bile argümanın ayrıntılarının bütünlüğünü sağlamasıdır.
Ayrıca, görevler arasındaki bağımlılıkları tanımlamaktan ve bu ilişkileri kapsayan bir diyagram oluşturmaktan sorumlu başka bir aracı daha vardır. Grafik oluşturulduktan sonra, grafiği çaprazlamak ve filtrelemek için bir algoritma kullanılır ve bu da belirli bir görev yürütme sırası ile sonuçlanır.
Bu süreç, modelin görevin bağımlılıklarına göre düzenli ve sistematik bir şekilde yürütülebilmesini sağlayarak tutarlı ve yapılandırılmış bir geliştirme süreci sağlar.
Diğer bir sorun, uzun kod oluşturmak için LLM kullanmanın daha fazla halüsinasyon ve fazlalık riski taşımasıdır. Bu sorunu çözmek için araştırmacılar, oyun tasarımında görünen kodu ayırmak için yeni bir yöntem sundular, LLM'nin akıl yürütme sürecini basitleştirdiler, böylece halüsinasyonları ve fazlalıkları büyük ölçüde azalttılar.
Bu yaklaşımı anlamak da zor değil - araştırmacılar beklenen komut dosyasını LLM'nin işlemesi için daha kısa kod parçacıklarına bölecekler. Bu ayırma yöntemi, LLM'nin çalışmasını büyük ölçüde basitleştirir.
Halüsinasyonları etkili bir şekilde azaltabilen bağlamsal öğrenme adı verilen etkili bir akıl yürütme yöntemi de vardır.
Ek olarak, GameGPT'de uygulanan başka bir halüsinasyon giderme tekniği, her görev için bir dizi K kod parçacığı oluşturmayı içerir.
Bu kod parçacıkları daha sonra sanal ortamda test edilir ve aynı anda kullanıcıya sunulur. Hem test süreci hem de kullanıcı geri bildirimi, sorunlu kod parçacıklarını belirlemek ve ortadan kaldırmak için kullanılır ve yalnızca yürütmek için en uygun seçeneği bırakır. Bu yaklaşım aynı zamanda halüsinasyonların oluşumunu daha da azaltmaya yardımcı olur.
Buna ek olarak, araştırmacıların oyun geliştirme için tasarlanmış çok sayıda kod parçacığı içeren bir şirket içi kütüphanesi var. Her kod parçacığı bir etiketleyici tarafından yorumlanır ve amaçlanan amacının net bir açıklaması sağlanır.
Özetlemek gerekirse, kodun gereksiz olmaması ve halüsinasyon görmemesi için geliştiriciler önceden ve etkinlikte olmak üzere iki hazırlık yaptılar.
Aynı zamanda, yukarıda bahsedilen kütüphane de modele ince ayar yapmak için değerli bir kaynaktır. Kod İnceleme ve İyileştirme Oyun motoru aracısı kodu oluşturduktan sonra, kod inceleme aracısı kod tabanının kapsamlı bir incelemesini ve incelemesini gerçekleştirir.
Aracı, orijinal istekten sapabilecek örnekleri veya koddaki beklenmeyen halüsinasyonları belirlemek için kapsamlı bir değerlendirme yapar.
Kapsamlı bir incelemeden sonra, aracı yalnızca olası farklılıkları işaretlemekle kalmaz, aynı zamanda kodu geliştirmek için önerilerde bulunabilir ve bu da daha makul bir sürümle sonuçlanır.
İnceleme sürecinden sonra, değiştirilen kod ve temsilciden gelen geri bildirim, ön uç arayüzü aracılığıyla oyun motoru mühendisi, temsilci ve kullanıcı ile paylaşılacaktır. Kullanıcı gerekli görürse, doğrudan ön uç arayüzü üzerinden kod değiştirme önerileri sağlayabilir.
Bu öneriler daha sonra kod gözden geçirme aracısına iletilir ve bu aracı, kodu geliştirmeye yönelik işbirliğine dayalı ve yinelemeli bir yaklaşım oluşturmak için bunları değerlendirir ve seçmeli olarak birleştirir.
Son olarak, kod oluşturulduktan ve her şey yapıldıktan sonra, sorumluluk, oluşturulan kodun yürütülmesinden sorumlu olan oyun motoru test aracısına düşer.
Bu aşamada, ajan ayrıca önceki aşamada oluşturulan yürütme sırasını da takip eder.
Spesifik yürütme süreci, her bir görev için kodun oyun motoruna gönderilmesini, yürütülmesini ve yürütme sırasında sürekli olarak izlenmesini, günlüklerin oluşturulmasını içerir.
Yürütme sırasında belirtilen tüm görevleri tamamladıktan sonra, aracı yürütme boyunca oluşturulan tüm günlükleri birleştirir.
Sonuç, kullanıcıya bir ön uç arayüzü aracılığıyla sunulan kısa ve kapsamlı bir özettir.
Ek olarak, test mühendisi aracısı, yürütme sırasında gözlemlenen herhangi bir geri izlemenin oluşumunu tanımlar ve raporlar. Bu geri izlemeler, yapay zekanın yürütme sürecinde veya kodunda daha fazla ayarlama yaptığının temel göstergeleri olarak hizmet ederek tüm sürecin iyileştirilmesine olanak tanır ve mükemmel bir son ürün üretilmesine yardımcı olur.
Son olarak, aynı anda çalışan birden fazla aracı için çerçeve formülüne bakalım:
İlk olarak, GameGPT'de her aracının özel bir bellek sistemi vardır ve karar verme süreçlerine rehberlik edecek gerekli bilgileri almak için paylaşılan genel içeriğe erişimleri vardır.
Zaman adımı t olan ajan i için bu süreç şu şekilde ifade edilebilir:
pθi, ajan i ile ilgili LLM veya uzman modeline karşılık geldiğinde, Oit, ajan i'nin t zaman adımındaki çıktısını veya çıktısını temsil eder ve Mit ve Pt, sırasıyla t zaman adımındaki tüm özel anıları ve gerekli kamu kayıtlarını ifade eder.
Oyun geliştirme endüstrisinin özellikleri ve büyük dil modelinin sınırlamaları nedeniyle, GameGPT'de farklı rollere sahip birden fazla aracının varlığı çok önemlidir.
Oyun geliştirme döngülerinin genellikle aylarca sürdüğü göz önüne alındığında, kapsamlı belleğe ve bağlamsal bilgilere sahip tek bir aracıya güvenmek, LLM dahil olmak üzere dil modellerinin verimliliğini büyük ölçüde azaltabilir.
Projeler zaman içinde daha karmaşık hale geldikçe, bu yaklaşım ölçeklenebilirlik zorlukları sunar. Ayrıca, LLM tarafından işlenen etiket sayısındaki sınırlama göz önüne alındığında, büyük oyun geliştirme projelerinde tam belleğe sahip ayrı bir aracı kullanmak pratik değildir.
Ayrıca, LLM'lerde gözlemlenen halüsinasyonlar ve fazlalık gibi doğal sorunlar, özellikle kritik rollere sahip olanlar olmak üzere birden fazla ajan arasındaki işbirliğinin önemini vurgulamaktadır.
Bu işbirliği, LLM yanılsamalarının ve fazlalığının yarattığı zorlukları azaltmada önemlidir.
Sonuç olarak GameGPT, oyun geliştirme döngüsü boyunca sorumluluklar da dahil olmak üzere çalışmasını kolaylaştırmak için bir dizi farklı rol kullanır.
Bu roller arasında yukarıda bahsedilen oyun içeriği tasarımcısı, oyun geliştirme yöneticisi, program denetçisi, oyun geliştirme mühendisi, görev denetçisi ve oyun motoru mühendisi, kod denetçisi ve oyun motoru test mühendisi yer alır.
Oyun geliştirme süreci boyunca her karakter farklı görevler üstlenir.
Kaynaklar:
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
GameGPT oyun üretimine giriyor! Tam otomatik olarak oluşturulan oyunlar, süre yüz kat azaltılabilir
Orijinal kaynak: Shin Ji Yuan
Şaşırtıcı! GPT yetenek ağacı yeniden büyüdü ve artık oyunu doğrudan bile yapabilirsiniz!?
Biliyorsunuz, içinde bulunduğumuz çağ artık küçük bir oyun yaparak piyasayı ele geçirebileceğiniz geçmiş çağ değil. Günümüzün oyun geliştirme süreci çok karmaşıktır.
İnsan gücü ile başlayalım, her oyun takımının personeli düzinelerce hatta yüzlerce olarak sayılır. Birisi programlamadan sorumludur, biri sanattan sorumludur, biri bakımdan sorumludur vb.
Her oyun ayrıca büyük bir kod tabanına ve malzeme kütüphanesine sahiptir.
Sonuç olarak, harika bir oyun geliştirmek çok fazla insan ve tamamlanması için çok zaman gerektirir. Ve bu süre genellikle birkaç yıldır.
Oyun ekibi, insanların hatırlayacağı ve seveceği bir başyapıt geliştirdi ve bütçesi 100 milyon doları aşacak.
Yoksa oyun üretimi bir nevi aşkla üretilen bir elektriktir.
Şimdi, işler değişti!
Araştırmacılar, oyun geliştirmedeki bazı süreçleri otomatikleştirmek için birden fazla AI aracısını entegre edebilen GameGPT adlı bir model geliştirdiler.
Ve farklı ajanlar kendi görevlerini yerine getirir ve düzenli bir şekilde çalışır.
Oyunun tasarım planını gözden geçirmekten ve ilgili değişiklikleri ve ayarlamaları yapmaktan sorumlu temsilciler vardır; Bazıları görevleri somut koda çevirmekten sorumludur; Bazıları, önceki adımda oluşturulan kodu kontrol etmekten ve çalışan sonuçları gözden geçirmekten sorumludur; Ayrıca, tüm işlerin ilk beklentileri karşıladığını doğrulamaktan sorumlu temsilciler de vardır.
Araştırmacılar, GameGPT'nin kod testi gibi geleneksel oyun geliştirme sürecinin bazı tekrarlayan ve katı yönlerini basitleştirebileceğini söylüyor.
Çok sayıda geliştirici, karmaşık denetim çalışmalarından kurtulabilir ve yapay zeka ile değiştirilemeyecek daha zorlu tasarım bağlantılarına odaklanabilir.
Tabii ki, bu makale hala nispeten ön aşamadadır. Performans iyileştirmelerini gösteren somut sonuçlar veya deneyler yoktur.
Başka bir deyişle, hiç kimse GameGPT ile bir oyun geliştirmedi ve model hala kavramsal aşamada ve belirli uygulama sonuçları ve ölçülebilir veriler olana kadar değerlendirmek zor.
Ancak, her zaman üzerinde çalışılması gereken bir yöndür.
Bazı netizenler, insanların LLM hakkındaki fikirlerinin biraz önyargılı olduğunu söyledi. Artık araştırmacılar NLP sorunlarının %100'ünü çözen bir araca sahipken, insanlar yalnızca belirli iş akışlarını otomatikleştirmeyi önemsiyor.
Örneğin, oyun dünyasının kararlarınıza kural tabanlı, sabit kodlanmış bir motor olarak beş dakika içinde yargılayabileceğinizden daha normal tepki verdiğini hayal edin.
Bir oyunun, verdiğiniz kararlara göre sizin için yan görevler hazırlayabildiğini hayal edin (yol boyunca gördüğünüz düşmanları rastgele katletmek vb.).
Geliştiriciler böyle bir sistem oluşturduklarında, bunları kodlamak yerine LLM'ye rehberlik etmek için ipucu mühendisliğini kullanırlar.
Ancak bunun amacı maliyetten tasarruf etmek değil, daha önce daha fazla oyun yapmanın mümkün olmadığı bir aşamada oyun yapmak (biraz ağız dolusu değil mi?).
Oyun GPT'si
İlk olarak, GameGPT modelinin büyük çerçevesine bir göz atalım - tüm süreç.
Sürecin en sol tarafında GameGPT'ye girilen kullanıcı tarafı bulunur ve ardından geliştirme yöneticisi ve inceleme ön planlama yapar.
Gereksinimler daha sonra belirli görevleri yerine getirmek ve kod oluşturmak için geliştirme mühendislerine ve oyun motoru mühendislerine gönderilir.
Son olarak, herhangi bir eksiklik olup olmadığını kontrol edin, sol tarafa geri gönderin ve tekrar çalıştırın. Değilse, sağa doğru devam edin ve muayeneden sorumlu mühendis testi gerçekleştirecektir.
**AI geliştirme oyunu?? **
Aslında, yapay zeka tarafından geliştirilen oyun tarihinin temelleri daha da geriye gidebilir.
Yapay zekanın oyun geliştirmede uygulanması, StarCraft ve Diablo gibi klasik oyunlara kadar izlenebilir. O zamanlar geliştiriciler, etkileşimli sanal dünyalar ve karakterler oluşturmak için yapay zeka sistemlerine ihtiyaç duyuyordu.
Bu sistemler, bu tür etkileşimli platformların geliştirilmesi için standart hale gelmiştir.
Oyun geliştirmede yapay zeka ile ilgili ilk araştırmalar, oyuncu olmayan karakterleri (NPC'ler) kontrol etmeyi vurguladı ve doğal dil işleme (NLP) teknolojisinin gelişmesiyle birlikte, seviyeler oluşturmak için derin öğrenme tekniklerini kullanan bazı öncü çalışmalar yapıldı.
Başyapıtlardan biri, ince ayarlı bir GPT-2 modeli aracılığıyla Super Mario Bros.'taki bazı seviyeleri başarıyla oluşturan MarioGPT'dir.
LLM, bu yıl hem NLP hem de bilgisayarla görme (CV) alanında iyi sonuçlar elde ederek büyük adımlar attı.
LLM eğitiminin çok aşamalı bir süreç olduğunu biliyoruz. İlk aşama, bu modellerin kapsamlı bir külliyat içinde eğitilmesinden ve temel dil becerilerinin kazanılmasının kolaylaştırılmasından oluşur.
Bunu, talimatlar aracılığıyla çeşitli NLP görevlerinden veri üreterek modele ince ayar yapmak olan daha önemli bir aşama takip eder. Bu talimat ayarı, modelin geniş bir uygulama yelpazesinde genelleme yeteneğini geliştirir ve LLM'nin önceki eğitimde gerçekleştirilmemiş görevlerde hatasız performans elde etmesini sağlar.
Son olarak, İnsan Geri Bildirimi Takviyeli Öğrenme (RLHF) aşaması, modelin yapısal bütünlüğünü ve güvenilirliğini garanti eder.
Ek olarak, LLM'deki gelişmeler, yazılım geliştirme sürecinde aracıların otomasyonunu teşvik etmiştir. Birçok çalışma, farklı görevleri yerine getirebilen LLM tabanlı bir ajanın nasıl geliştirileceği sorusuna odaklanmıştır.
Örneğin, AutoGPT, gerçek dünyada belirli karar verme görevlerini yerine getirmek için LLM aracılarını kullanırken, HuggingGPT, daha karmaşık AI görevlerini koordine etmek için denetleyici olarak tek bir LLM kullandı.
Bu yöntemler tek bir LLM aracısına dayansa da, hepsi kararı iyileştirmek için bir gözden geçiren (yukarıdaki akış şemasındaki gözden geçiren) ekler.
Veya örnek olarak AutoGPT'yi ele alalım, model kendi performansını iyileştirmek için denetlenen öğrenciden bazı yardımcı görüşler alacaktır ve HuggingGPT, karar vermenin doğruluğunu değerlendirmek için bir gözden geçiren yapmak için GPT-4'e de bağlanabilir.
Çeşitli yazılımların geliştirilmesini otomatikleştirmek için kullanılabilecek çok aracılı bir çerçeve sunan MetaGPT gibi başka örnekler de vardır.
Bugün tartıştığımız oyun geliştirmeye geri dönersek, genel yazılım geliştirmeden farklı olarak oyun geliştirme endüstrisinin trendlere ayak uydurması gerektiğini, bu nedenle en iyi verimi elde etmek için tüm geliştirme sürecinin daha kesin ve özlü olması gerektiğini bilmemiz gerekiyor.
Buna ek olarak, illüzyonlar ve yüksek doğruluk olmadan oyun geliştirmenin tüm geliştirme döngüsüne hizmet etmek için tek bir LLM'yi değiştirmek ve kullanmak pratik değildir ve maliyetlidir.
Bu nedenle, oyun geliştirme yapay zekasının çerçevesi, dil modellerinin doğasında bulunan halüsinasyon eğilimlerini etkili bir şekilde hafifletebilen birden fazla gözden geçirenin katılımını gerektirir.
Araştırmacılar ayrıca dil modellerinin oyun geliştirmede başka bir sınırlaması olduğunu buldular - fazlalık. LLM, oyun oluşturulduğunda gereksiz, bilgilendirici olmayan görevler veya kod parçacıkları oluşturabilir.
İllüzyon ve fazlalık sorununu etkili bir şekilde ele almak için, günümüzün kahramanı GameGPT, ikili işbirliği, dahili sözlükler aracılığıyla talimat ince ayarı ve kodun ayrıştırılması dahil olmak üzere soruna stratejik olarak çeşitli yaklaşımlar benimsiyor.
İkili işbirliğinin, LLM ve küçük derin öğrenme modelleri arasındaki etkileşimin yanı sıra, yürütmeden sorumlu ajan ile gözden geçiren ajan arasındaki işbirlikçi katılımı içerdiğini belirtmekte fayda var.
Araştırmacılar, bu sinerjilerin GameGPT'nin yanılsamasını ve fazlalığını azaltmada etkili olduğunu kanıtladığını söylüyor.
Yönteme giriş
Daha sonra, araştırmacılar GameGPT'nin yeniliğini tüm süreçten ayırdılar.
Her şeyden önce, oyun tasarım aşamasında, bir kullanıcı talebi aldıktan sonra, GameGPT'nin görevleri arasında tüm oyun için bir geliştirme planı oluşturmak yer alır. Bu planlama aşaması, tüm geliştirme sürecinin sorunsuz ilerlemesini büyük ölçüde etkileyen kilit adımlardan biridir.
Bu aşama, bir başlangıç planı yapan ve ardından bunu bir görev listesine bölen LLM tabanlı bir oyun geliştirme yöneticisi tarafından planlanır.
LLM'nin doğasında var olan sınırlamalar nedeniyle, bu ilk planın genellikle halüsinasyonlar sunduğunu ve bilgilendirici olmayan veya gereksiz gereksiz görevler de dahil olmak üzere beklenmedik görevlerle sonuçlandığını belirtmekte fayda var.
Bu sorunları ele almak için araştırmacılar, birbirine dik olan ve daha iyi sonuçlar için katmanlar halinde gerçekleştirilebilecek bu zorlukları azaltabilecek dört strateji önerdiler.
Birinci senaryo: Oyun türünü belirlemek için gelen istekleri kategorilere ayırın. Şu anda GameGPT çerçevesi, aksiyon, strateji, rol yapma, simülasyon ve macera olmak üzere beş farklı oyun türünün geliştirilmesini desteklemektedir.
Araştırmacılar, her tür için, oyun geliştirme yöneticisi temsilcilerine ilgili bilgileri içeren şablonlar aracılığıyla rehberlik eden standartlaştırılmış planlama şablonları sağlar.
Bu yaklaşımı benimseyerek, gereksiz görevlerin sıklığı önemli ölçüde azalırken, halüsinasyonların meydana gelme olasılığı da artar.
İkinci strateji: başka bir LLM tabanlı ajan olan program denetçisi ajanının katılımını içerir. Bu ajan, görev planının kapsamlı bir incelemesini sağlamak için dikkatli bir tasarımla çalışır.
Temel amacı, halüsinasyonların ve fazlalıkların oluşumunu en aza indirmektir. Bu temsilci değerlendirme programı, doğruluğunu, verimliliğini ve basitliğini iyileştirmek ve artırmak için geri bildirim sağlar.
Aynı zamanda, bu bölümde oluşturulan talimatlar, oyun geliştirme yöneticisinin temsilcisi için yeni girdi olarak kullanılabilir ve bu da görev planını daha doğru ve mükemmel hale getirir.
Strateji 3: Oyun geliştirme düzeyinde daha iyi plan yapmak için oyun geliştirme yöneticisinin temsilcisinin LLM'sini özel talimatlarla ayarlayın. Bu ince ayar işleminin amacı, modelin hem doğru hem de özlü bir plan üretmesini sağlamaktır.
Kolaylık sağlamak için araştırma ekibi, birçok girdi ve çıktı kombinasyonunu içeren dahili bir veri kümesi topladı ve entegre etti. Bu kombinasyonlar, uzunluk veya yapı olarak standart formata uymasa da, hepsi oyun geliştirmenin gereksinimleri etrafında döner.
Araştırmacılar bu yaklaşımı benimseyerek, LLM'nin genel dil becerileri ile oyun geliştirme planlama becerileri arasındaki boşluğu etkili bir şekilde kapattılar.
Strateji 4: Planlama aşamasında "güvenlik ağı". Planlama süreci boyunca, Oyun Geliştirme Yöneticisi Temsilcisi ara sonuçları her zaman ön uç arayüzünde kullanıcıyla paylaşır ve diğer temsilcilerin her zaman hangi geliştirmenin devam ettiğini bilmesini sağlar.
Bunu geliştirmek için araştırmacılar, kullanıcıların beklentilerine göre planları aktif olarak gözden geçirmelerini, düzeltmelerini ve geliştirmelerini sağlayan etkileşimli bir yaklaşım entegre ettiler. Bu yaklaşım aynı zamanda tasarım planı ile kullanıcının ihtiyaçları arasındaki tutarlılığı da garanti eder.
Bu stratejileri bir kenara bıraktığımıza göre, GameGPT'nin avantajlarına bir göz atalım.
Bu nedenle, bu aşamada doğruluğu sağlamak için araştırmacılar, oyun geliştirme mühendisi adı verilen bir ajan oluşturdular. Aracı, görev sınıflandırma sürecine katılmak için birlikte çalışan iki modelden oluşur.
Bu işbirlikçi yaklaşım, görev tanımlamanın doğruluğunu ve etkinliğini artırır. Aynı zamanda, LLM yanılsamalarının ortaya çıkmasını önlemek ve görev sınıflandırmasının doğruluğunu artırmak için, araştırmacılar oyun geliştirmede ortaya çıkabilecek görev türlerinin bir listesini sağladılar.
Bunu daha iyi sınıflandırmak için BERT modelini benimsediler.
BERT modeli, dahili bir veri kümesiyle tamamen eğitilmiştir. Bu veri kümesi, oyun geliştirme görevine uyarlanmış veri öğeleri içerir. Girdi önceden belirlenmiş bir listeden alınır ve çıktı, görevin belirtilen kategorisine karşılık gelir.
Görev türlerinin ve parametrelerinin gözden geçirilmesi bu aşamada gerçekleştirilir ve esas olarak her bir kategorinin tanımlanmasından ve parametrelerin makul olup olmadığından sorumlu olan görev gözden geçirici adı verilen bir aracı tanıtılır.
Gözden geçirme süreci, görev türünün önceden belirlenmiş bir aralıkta olup olmadığının ve en uygun görev olup olmadığının gözden geçirilmesini içerir. Aynı zamanda, görevle uyumlu olup olmadığını görmek için parametre listesini de kontrol eder.
Bağlamsal görev bilgilerine dayalı bazı durumlar gibi bazı senaryolarda veya kullanıcı isteğinin parametrelerden çıkarılamadığı durumlarda, GameGPT bunları çözmek için proaktif bir yaklaşım benimser.
Gözden geçiren, ön uç arabiriminde bir istem başlatarak ve parametreler için gerekli ek bilgileri isteyerek kullanıcının dikkatini çeker.
Bu etkileşimli yaklaşımın yararı, otomatik akıl yürütme yetersiz olduğunda bile argümanın ayrıntılarının bütünlüğünü sağlamasıdır.
Ayrıca, görevler arasındaki bağımlılıkları tanımlamaktan ve bu ilişkileri kapsayan bir diyagram oluşturmaktan sorumlu başka bir aracı daha vardır. Grafik oluşturulduktan sonra, grafiği çaprazlamak ve filtrelemek için bir algoritma kullanılır ve bu da belirli bir görev yürütme sırası ile sonuçlanır.
Bu süreç, modelin görevin bağımlılıklarına göre düzenli ve sistematik bir şekilde yürütülebilmesini sağlayarak tutarlı ve yapılandırılmış bir geliştirme süreci sağlar.
Diğer bir sorun, uzun kod oluşturmak için LLM kullanmanın daha fazla halüsinasyon ve fazlalık riski taşımasıdır. Bu sorunu çözmek için araştırmacılar, oyun tasarımında görünen kodu ayırmak için yeni bir yöntem sundular, LLM'nin akıl yürütme sürecini basitleştirdiler, böylece halüsinasyonları ve fazlalıkları büyük ölçüde azalttılar.
Bu yaklaşımı anlamak da zor değil - araştırmacılar beklenen komut dosyasını LLM'nin işlemesi için daha kısa kod parçacıklarına bölecekler. Bu ayırma yöntemi, LLM'nin çalışmasını büyük ölçüde basitleştirir.
Halüsinasyonları etkili bir şekilde azaltabilen bağlamsal öğrenme adı verilen etkili bir akıl yürütme yöntemi de vardır.
Ek olarak, GameGPT'de uygulanan başka bir halüsinasyon giderme tekniği, her görev için bir dizi K kod parçacığı oluşturmayı içerir.
Buna ek olarak, araştırmacıların oyun geliştirme için tasarlanmış çok sayıda kod parçacığı içeren bir şirket içi kütüphanesi var. Her kod parçacığı bir etiketleyici tarafından yorumlanır ve amaçlanan amacının net bir açıklaması sağlanır.
Özetlemek gerekirse, kodun gereksiz olmaması ve halüsinasyon görmemesi için geliştiriciler önceden ve etkinlikte olmak üzere iki hazırlık yaptılar.
Aynı zamanda, yukarıda bahsedilen kütüphane de modele ince ayar yapmak için değerli bir kaynaktır. Kod İnceleme ve İyileştirme Oyun motoru aracısı kodu oluşturduktan sonra, kod inceleme aracısı kod tabanının kapsamlı bir incelemesini ve incelemesini gerçekleştirir.
Aracı, orijinal istekten sapabilecek örnekleri veya koddaki beklenmeyen halüsinasyonları belirlemek için kapsamlı bir değerlendirme yapar.
Kapsamlı bir incelemeden sonra, aracı yalnızca olası farklılıkları işaretlemekle kalmaz, aynı zamanda kodu geliştirmek için önerilerde bulunabilir ve bu da daha makul bir sürümle sonuçlanır.
İnceleme sürecinden sonra, değiştirilen kod ve temsilciden gelen geri bildirim, ön uç arayüzü aracılığıyla oyun motoru mühendisi, temsilci ve kullanıcı ile paylaşılacaktır. Kullanıcı gerekli görürse, doğrudan ön uç arayüzü üzerinden kod değiştirme önerileri sağlayabilir.
Bu öneriler daha sonra kod gözden geçirme aracısına iletilir ve bu aracı, kodu geliştirmeye yönelik işbirliğine dayalı ve yinelemeli bir yaklaşım oluşturmak için bunları değerlendirir ve seçmeli olarak birleştirir.
Son olarak, kod oluşturulduktan ve her şey yapıldıktan sonra, sorumluluk, oluşturulan kodun yürütülmesinden sorumlu olan oyun motoru test aracısına düşer.
Bu aşamada, ajan ayrıca önceki aşamada oluşturulan yürütme sırasını da takip eder.
Spesifik yürütme süreci, her bir görev için kodun oyun motoruna gönderilmesini, yürütülmesini ve yürütme sırasında sürekli olarak izlenmesini, günlüklerin oluşturulmasını içerir.
Yürütme sırasında belirtilen tüm görevleri tamamladıktan sonra, aracı yürütme boyunca oluşturulan tüm günlükleri birleştirir.
Sonuç, kullanıcıya bir ön uç arayüzü aracılığıyla sunulan kısa ve kapsamlı bir özettir.
Ek olarak, test mühendisi aracısı, yürütme sırasında gözlemlenen herhangi bir geri izlemenin oluşumunu tanımlar ve raporlar. Bu geri izlemeler, yapay zekanın yürütme sürecinde veya kodunda daha fazla ayarlama yaptığının temel göstergeleri olarak hizmet ederek tüm sürecin iyileştirilmesine olanak tanır ve mükemmel bir son ürün üretilmesine yardımcı olur.
Son olarak, aynı anda çalışan birden fazla aracı için çerçeve formülüne bakalım:
İlk olarak, GameGPT'de her aracının özel bir bellek sistemi vardır ve karar verme süreçlerine rehberlik edecek gerekli bilgileri almak için paylaşılan genel içeriğe erişimleri vardır.
Zaman adımı t olan ajan i için bu süreç şu şekilde ifade edilebilir:
Oyun geliştirme endüstrisinin özellikleri ve büyük dil modelinin sınırlamaları nedeniyle, GameGPT'de farklı rollere sahip birden fazla aracının varlığı çok önemlidir.
Oyun geliştirme döngülerinin genellikle aylarca sürdüğü göz önüne alındığında, kapsamlı belleğe ve bağlamsal bilgilere sahip tek bir aracıya güvenmek, LLM dahil olmak üzere dil modellerinin verimliliğini büyük ölçüde azaltabilir.
Projeler zaman içinde daha karmaşık hale geldikçe, bu yaklaşım ölçeklenebilirlik zorlukları sunar. Ayrıca, LLM tarafından işlenen etiket sayısındaki sınırlama göz önüne alındığında, büyük oyun geliştirme projelerinde tam belleğe sahip ayrı bir aracı kullanmak pratik değildir.
Ayrıca, LLM'lerde gözlemlenen halüsinasyonlar ve fazlalık gibi doğal sorunlar, özellikle kritik rollere sahip olanlar olmak üzere birden fazla ajan arasındaki işbirliğinin önemini vurgulamaktadır.
Bu işbirliği, LLM yanılsamalarının ve fazlalığının yarattığı zorlukları azaltmada önemlidir.
Sonuç olarak GameGPT, oyun geliştirme döngüsü boyunca sorumluluklar da dahil olmak üzere çalışmasını kolaylaştırmak için bir dizi farklı rol kullanır.
Bu roller arasında yukarıda bahsedilen oyun içeriği tasarımcısı, oyun geliştirme yöneticisi, program denetçisi, oyun geliştirme mühendisi, görev denetçisi ve oyun motoru mühendisi, kod denetçisi ve oyun motoru test mühendisi yer alır.
Oyun geliştirme süreci boyunca her karakter farklı görevler üstlenir.
Kaynaklar: