Çerçeveler, kütüphaneler, RL ve muhtemelen en sevdiğiniz RL kod tabanını neden sevmediğim hakkında konuşalım. Evet, o da dahil. RL ile ilgili olağandışı olan şey, algoritmanın kolay kısım olmasıdır. GRPO, bazı logproblarda tek satırlı bir denklemdir. Verileriniz varsa, kaybı hesaplamak önemsizdir ve muhtemelen onu seçtiğiniz bir backprop kitaplığıyla kullanıyorsunuzdur. Ama sorun bu -- verileri elde etmek. Bu tam bir baş belası. Normal RL'de sunumlar yapmanız, belki bazı bölümleri kesmeniz ve sonları buna göre ele almanız gerekir. Salyangoz olmak istemiyorsanız, ortamı vektörleştirmek ve algoritmayı buna göre uyarlamak isteyeceksiniz. Bir LLM yapmak istiyorsanız, LLM'leri belleğe sığdıran tüm saçmalıkları yapmanız gerekir. İstemlerinize dikkat etmeniz, kayıp için doğru kısımları maskelemeniz gerekir. İyi bir nesil motora (vLLM) ihtiyacınız var, bu da ağırlıkları güncellemeyi zorlaştırıyor. Çok aracılı çok turlu LLM RL yapmak istiyorsanız, sudoku da yapabilirsiniz. RL ile ilgili hemen hemen her konuda pek çok anlaşmazlığımız olsa da, @jsuarez5341'in Pufferlib'inin bu noktayı güzel bir şekilde örneklediğini düşünüyorum. Yaptığı işte şüphesiz inanılmaz - RL algolarını simüle edilmiş ortamlarda çok çok hızlı bir şekilde eğitmek. Ancak yeniliğinin çoğu saf altyapıdır. Çekirdek algoritmalar büyük ölçüde yıllardır olduğu gibi aynı ve bahse girerim ki genel mühendislik çabasının %10'undan daha azını temsil ediyorlar. Doğal olarak, bunun yerleşik örnekleri çalıştırmanın ötesinde herhangi bir şey yapmak için yazmanız gereken kod üzerinde etkileri vardır. Tekrar tekrar bulduğum şey, yeterince önemsiz olmayan (okuyun: ilginç) birçok araştırma problemi için, (a) bir şeyi sıfırdan/basit ilkellerden yazmak veya (b) mevcut bir çerçeveyi çılgın fikirlere uyum sağlayacak şekilde uyarlamak benzer miktarda zaman alıyor. İlkinde, gerçek mantığı yazmaya odaklanırsınız. İkincisinde, mantığı eklemenize izin vermek için çerçeveyi tartışırsınız. Neyi sevdiğimi daha iyi biliyorum. Bütün bunlar algoritmanın kolay kısım olmasından kaynaklanmaktadır. Altyapı, kıçtaki ağrıdır. Bu nedenle, ne zaman bir seçim yapma konumunda olursanız olun, altyapıyı basitleştiren araçları kullanın ve eğitim döngüsünü kendiniz yazın. Çerçeveler oluşturmayın, kitaplıklar oluşturun. Daha sonra kendinize teşekkür edeceksiniz. Bana rllib'i bırakıp PPO'yu PyTorch'ta kendim yazmamı söyleyen ilk kişi olan o zamanki Yüksek Lisans amirime büyük bir haykırış. Ve sonunda bu rantı yazmam için bana ilham verdiği için @hallerite. İnsanlar talep ederse, gelecekte bir noktada örneklerle uygun bir çaba yazısı yazabilirim.