paint-brush
Sulara Yelken Açmak: Data Lakes ile Üretim Sınıfında RAG Uygulamaları Geliştirmeile@minio
5,672 okumalar
5,672 okumalar

Sulara Yelken Açmak: Data Lakes ile Üretim Sınıfında RAG Uygulamaları Geliştirme

ile MinIO13m2024/06/14
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

2024'ün ortalarında etkileyici ve heyecan verici bir yapay zeka demosu oluşturmak kolay olabilir. Genellikle öğleden sonraları ısmarlama bir yapay zeka botu oluşturabilirsiniz. Ancak üretime geçmek başka bir konudur. Güvenilir, gözlemlenebilir, ayarlanabilir ve performanslı bir sisteme ihtiyacınız olacak.

People Mentioned

Mention Thumbnail
Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Sulara Yelken Açmak: Data Lakes ile Üretim Sınıfında RAG Uygulamaları Geliştirme
MinIO HackerNoon profile picture


2024'ün ortalarında etkileyici ve heyecan verici bir yapay zeka demosu oluşturmak kolay olabilir. Güçlü bir geliştiriciyi, bazı akıllı anlık denemeleri ve güçlü bir temel modele yönelik birkaç API çağrısını alın; genellikle öğleden sonra özel bir yapay zeka botu oluşturabilirsiniz. Gibi bir kütüphaneye ekleyin uzun zincir veya lamaindex RAG kullanarak LLM'nizi bir miktar özel veriyle güçlendirmek için; öğleden sonraki çalışmanız bir hafta sonu projesine dönüşebilir.


Ancak üretime geçmek başka bir konudur. Uygun ölçekte güvenilir, gözlemlenebilir, ayarlanabilir ve performanslı bir sisteme ihtiyacınız olacak. Uydurulmuş demo senaryolarının ötesine geçmek ve uygulamanızın, gerçek müşteri davranışının tüm yelpazesini temsil eden daha geniş bir istem yelpazesine verdiği yanıtı dikkate almak çok önemli olacaktır. LLM'nin, genellikle eğitim öncesi veri setinde bulunmayan zengin bir alana özgü bilgi külliyatına erişmesi gerekebilir. Son olarak, yapay zekayı doğruluğun önemli olduğu bir kullanım senaryosuna uygularsanız halüsinasyonların tespit edilmesi, izlenmesi ve azaltılması gerekir.


Tüm bu sorunları çözmek göz korkutucu görünse de, RAG tabanlı uygulamanızı ilgili kavramsal bölümlerine ayırıp ardından her birini gerektiği gibi iyileştirmek için hedefli ve yinelemeli bir yaklaşım benimseyerek daha kolay yönetilebilir hale gelir. Bu yazı tam da bunu yapmanıza yardımcı olacaktır. Bu belgede, geri alma sırasında aşağı akışta gerçekleşen teknikler yerine yalnızca RAG belge işleme hattı oluşturmak için kullanılan tekniklere odaklanacağız. Bunu yaparken, üretken yapay zeka uygulama geliştiricilerinin prototipten üretime uzanan yolculuğa kendilerini daha iyi hazırlamalarına yardımcı olmayı amaçlıyoruz.

Modern Veri Gölü: Yapay Zeka Altyapısının Ağırlık Merkezi


Yapay zeka çağında verilerin sizin hendeğiniz olduğu sıklıkla söylenir. Bu amaçla, üretim düzeyinde bir RAG uygulaması oluşturmak, tescilli topluluğunuzu oluşturan veri parçalarını depolamak, sürümlemek, işlemek, değerlendirmek ve sorgulamak için uygun bir veri altyapısı gerektirir. MinIO, yapay zekaya veri odaklı bir yaklaşım benimsediğinden, bu tür bir proje için varsayılan başlangıç altyapı önerimiz, bir Modern Veri Gölü ve bir vektör veritabanı oluşturmaktır. Yol boyunca diğer yardımcı araçların da takılması gerekebilir, ancak bu iki altyapı birimi temeldir. RAG uygulamanızı üretime alırken daha sonra karşılaşacağınız neredeyse tüm görevler için ağırlık merkezi görevi görecekler.


MinIO üzerine kurulu bir Modern Data Lake Referans Mimarisi bulunabilir Burada . Bu mimarinin tüm AI/ML iş yüklerini nasıl desteklediğini gösteren tamamlayıcı bir makale Burada .


Özel derleminizi aşamalar halinde güncelleyen ve bunu aşağı yönde erişim için bir vektör veritabanına yükleyen bir RAG belge işleme hattı (alma adımları gösterilmemiştir).

RAG: İşlem Hattı Adımlarını Belgeleyin

Değerlendirme

Üretim düzeyinde bir RAG uygulaması oluşturmanın kritik bir erken adımı, genellikle basitçe değerlendirmeler olarak adlandırılan bir değerlendirme çerçevesi oluşturmaktır. Değerlendirmeler olmadan, sisteminizin ne kadar iyi performans gösterdiğini güvenilir bir şekilde anlamanın, hangi bileşenlerin ayarlanması gerektiğini bilmenin veya gerçek ilerleme kaydedip kaydetmediğinizi belirlemenin hiçbir yolu olmayacaktır. Ek olarak değerlendirmeler, çözmeye çalıştığınız sorunu açıklığa kavuşturmak için zorlayıcı bir işlev görür. En yaygın değerlendirme tekniklerinden bazıları şunlardır:


  • Sezgisel Kod Tabanlı Değerlendirme - Çıktı belirteci sayısı, anahtar kelime varlığı/yokluğu, JSON geçerliliği vb. gibi çeşitli ölçümler kullanılarak çıktının programlı olarak puanlanması. Bunlar genellikle geleneksel birim testleri için düzenli ifadeler ve iddia kitaplıkları kullanılarak belirleyici bir şekilde değerlendirilebilir.


  • Algoritmik Kod Tabanlı Değerlendirme - Çeşitli iyi bilinen veri bilimi ölçümlerini kullanarak çıktıyı puanlama. Örneğin, istemi bir sıralama problemi olarak yeniden çerçevelendirerek, öneri sistemlerinden normalleştirilmiş indirimli kümülatif kazanç (NDCG) veya ortalama karşılıklı sıralama (MRR) gibi popüler puanlama işlevlerini kullanabilirsiniz. Tersine, eğer bir ipucu bir sınıflandırma problemi olarak çerçevelenebiliyorsa o zaman kesinlik, hatırlama ve F1 puanı uygun olabilir. Son olarak anlamsal çıktıyı bilinen bir temel gerçekle karşılaştırmak için BLEU, ROUGE ve anlamsal yanıt benzerliği (SAS) gibi ölçümleri kullanabilirsiniz.


  • Model Tabanlı Değerlendirme - Bölümde ayrıntılı olarak açıklandığı gibi bir modeli diğerinin çıktısını puanlamak için kullanın. Yüksek Lisans Derecesini Hakim Olarak Değerlendirmek kağıt. Bu tekniğin popülaritesi artıyor ve ölçeklenmesi insanlardan çok daha ucuz. Bununla birlikte, bir projeyi prototipten üretime taşımanın ilk aşamalarında, değerlendiricinin, bu durumda, temel sistemin kendisiyle benzer sınırlamalara ve önyargılara sıklıkla maruz kalan bir LLM olması nedeniyle, güvenilir bir şekilde uygulanması zor olabilir. Hızla geliştikleri için bu alandaki araştırmaları, araçları ve en iyi uygulamaları yakından takip edin.


  • İnsan Değerlendirmesi - İnsan alanı uzmanlarından en iyi cevabı vermelerini istemek genellikle altın standarttır. Bu yöntem yavaş ve pahalı olsa da göz ardı edilmemelidir çünkü içgörü elde etmek ve ilk değerlendirme veri setinizi oluşturmak için çok değerli olabilir. Yapılan işten ekstra kilometre elde etmek istiyorsanız, bu bölümde ayrıntıları verilen teknikler gibi teknikleri kullanabilirsiniz. Otomatik Değerlendirme Doğru Yapıldı Uzmanların oluşturduğu değerlendirmelerinizi sentetik varyasyonlarla tamamlayacak kağıt.


Çeşitli değerlendirme türlerinin önerilen dağılımını gösteren değerlendirme piramidi. Zirveye doğru olan yöntemler çaba ve karmaşıklık açısından daha yüksek olacak ve dolayısıyla temel gerçekle uyumun daha göstergesi olacaktır. Dibe doğru yöntemler daha hızlı ve daha sık çalıştırılabilir ancak yalnızca gerçek doğruluğun bir tahmini olarak yorumlanmalıdır.


Hangi değerlendirme tekniklerini kullanacağınıza ilişkin kararınızın yanı sıra, özel bir kıyaslama değerlendirme veri kümesi oluşturmayı düşünün; bunlar genellikle Hugging Face lider tablolarında kullanılan genel verilerdir. MMLU veri kümesi işe yaramaz. Özel değerlendirme veri kümeniz, çeşitli istemleri ve bunların etki alanına özgü ideal yanıtlarını içerecek ve gerçek müşterilerinizin uygulamanıza gireceği bilgi istemi türlerini temsil edecektir. İdeal durumda, değerlendirme veri setinin oluşturulmasına yardımcı olacak insan uzmanlar mevcuttur, ancak bu mümkün değilse bunu kendiniz yapmayı düşünün. Hangi uyarıların olası olduğunu tahmin etme konusunda kendinize güvenmiyorsanız, bir çalışma hipotezi oluşturun ve sanki doğrulanmış gibi ilerleyin. Daha fazla veri elde edildikçe hipotezlerinizi daha sonra sürekli olarak revize edebilirsiniz.


LLM'nin somut bir değerlendirme türüyle yanıt vermesi için değerlendirme veri kümenizdeki her satır için giriş istemine kısıtlamalar uygulamayı düşünün: ikili, kategorik, sıralama, sayısal veya metin. Yargı türlerinin bir karışımı, değerlendirmelerinizi makul düzeyde çeşitli tutacak ve çıktı yanlılığını azaltacaktır. Ceteris paribus, daha fazla değerlendirme test senaryosu daha iyidir; ancak bu aşamada nicelikten ziyade niteliğe odaklanılması tavsiye edilir. Yüksek Lisans'ta ince ayar yapılmasına ilişkin son araştırmalar LIMA: Uyum İçin Daha Az Daha Fazladır makale, 1000 satırlık küçük bir değerlendirme veri kümesinin bile, gerçek daha geniş popülasyonu temsil eden örnekler olması koşuluyla, çıktı kalitesini önemli ölçüde artırabileceğini öne sürüyor. RAG uygulamalarıyla, düzinelerce ila yüzlerce satırdan oluşan değerlendirme veri kümelerini kullanarak anekdotsal olarak performans artışı gözlemledik.


Değerlendirmelerinizi geçici olarak manuel olarak çalıştırmaya başlayabilirsiniz ancak değerlendirme puanlama sürecinizin yürütülmesini otomatikleştirmek için bir CI/CD işlem hattı uygulamadan önce çok fazla beklemeyin. Değerlendirmeleri günlük olarak veya kaynak kodu depolarına ve gözlemlenebilirlik araçlarına bağlı tetikleyiciler üzerinde çalıştırmak, genellikle makine öğrenimi işlemlerinin en iyi uygulaması olarak kabul edilir. Aşağıdaki gibi açık kaynaklı bir RAG değerlendirme çerçevesi kullanmayı düşünün: ragalar veya DerinEval hızlı bir şekilde çalışmaya başlamanıza yardımcı olmak için. Hem sürümlendirilmiş değerlendirme veri kümelerini hem de her değerlendirme yürütüldüğünde oluşturulan çeşitli çıktı ölçümlerini içeren tablolar için veri gölünüzü bir doğruluk kaynağı olarak kullanın. Bu veriler, projede daha sonra stratejik ve yüksek hedefli iyileştirmeler yapmak için kullanılacak değerli bilgiler sağlayacaktır.

Veri Çıkarıcılar

Başlangıçta prototip oluşturmaya başladığınız RAG külliyatı sizi üretime geçirmek için nadiren yeterlidir. LLM'nin halüsinasyonları, ihmalleri ve sorunlu önyargı türlerini azaltmasına yardımcı olmak için muhtemelen külliyatınızı sürekli olarak ek verilerle genişletmeniz gerekecektir. Bu genellikle yukarı yöndeki verileri, aşağı yöndeki belge hattında daha fazla işlenebilecek bir formata dönüştüren çıkarıcılar ve yükleyiciler oluşturarak duruma göre yapılır.


İhtiyaç duyduğunuzdan daha fazla veri toplayarak okyanusu kaynatmaya çalışmanın küçük bir riski olsa da, yaratıcı olmanız ve şirketinizin erişebildiği kaliteli bilgi kaynakları hakkında kalıpların dışında düşünmeniz önemlidir. Açık olasılıklar, kurumsal OLTP'nizde ve veri ambarınızda depolanan yapılandırılmış verilerden içgörülerin çıkarılmasını içerebilir. Kurumsal blog gönderileri, teknik incelemeler, yayınlanmış araştırmalar ve müşteri destek soruları gibi kaynaklar da, uygun şekilde anonimleştirilebilmeleri ve hassas bilgilerden arındırılabilmeleri koşuluyla dikkate alınmalıdır. Derleminize küçük miktarlardaki kaliteli alan içi verileri bile eklemenin olumlu performans etkisini abartmak zordur; bu nedenle keşfetmeye, denemeye ve yinelemeye zaman harcamaktan korkmayın. Yüksek kaliteli bir alan içi derlemeyi başlatmak için yaygın olarak kullanılan tekniklerden birkaçı şunlardır:


  • Belge Çıkarma - Tescilli PDF'ler, ofis belgeleri, sunumlar ve işaretleme dosyaları zengin bilgi kaynakları olabilir. Bu verileri çıkarmak için açık kaynak ve SaaS araçlarından oluşan geniş bir ekosistem mevcuttur. Veri çıkarıcılar genellikle dosya türüne özeldir (JSON, CSV, docx vb.), OCR tabanlıdır veya makine öğrenimi ve bilgisayarlı görüntü algoritmaları tarafından desteklenir. Basit başlayın ve yalnızca gerektiği kadar karmaşıklık ekleyin.


  • API Çıkarma - Genel ve özel API'ler, alan içi bilgi açısından zengin kaynaklar olabilir. Üstelik, iyi tasarlanmış JSON ve XML tabanlı web API'leri zaten yerleşik bir yapıya sahiptir; bu, ilgisiz olduğu düşünülen her şeyi atarken, yük içindeki ilgili özelliklerin hedefli olarak çıkarılmasını kolaylaştırır. Kullanmak istediğiniz her API için özel ETL'ler yazmaktan kaçınmanıza yardımcı olmak için uygun fiyatlı düşük kodlu ve kodsuz API bağlayıcılarından oluşan geniş bir ekosistem mevcuttur; bu, özel bir veri mühendisleri ekibi olmadan bakımı ve ölçeklendirilmesi zor olabilen bir yaklaşımdır.


  • Web Kazıyıcılar - Web sayfaları, ağaç benzeri DOM yapısına sahip yarı yapılandırılmış veriler olarak kabul edilir. Hangi bilginin peşinde olduğunuzu, nerede bulunduğunu ve bulunduğu sayfa düzenini biliyorsanız, iyi belgelenmiş bir API olmadan bile bu verileri tüketmek için hızlı bir şekilde bir kazıyıcı oluşturabilirsiniz. Web kazıma için değerli soyutlamalar sağlamak üzere birçok komut dosyası kitaplığı ve düşük kodlu araç mevcuttur.


  • Web Tarayıcıları - Web tarayıcıları web sayfalarında dolaşabilir ve yinelenen URL listeleri oluşturabilir. Bu yöntem, kriterlerinize göre bilgileri taramak, özetlemek ve filtrelemek için kazıma ile birleştirilebilir. Daha önemli bir ölçekte, bu teknik kendi bilgi grafiğinizi oluşturmak için kullanılabilir.


Veri toplamak için hangi tekniği kullanırsanız kullanın, hacklenmiş tek seferlik komut dosyaları oluşturma dürtüsüne direnin. Bunun yerine, çıkarıcıları, verileri veri gölünüz içindeki tablolara yerleştiren tekrarlanabilir ve hataya dayanıklı ETL işlem hatları olarak dağıtmak için veri mühendisliğinin en iyi uygulamalarını uygulayın. Bu işlem hatlarını her çalıştırdığınızda, kaynak URL'ler ve çıkarma zamanı gibi önemli meta veri öğelerinin yakalandığından ve her içerik parçasıyla birlikte etiketlendiğinden emin olun. Meta veri yakalamanın, aşağı yönlü veri temizleme, filtreleme, tekilleştirme, hata ayıklama ve ilişkilendirme açısından paha biçilmez olduğu kanıtlanacaktır.

Kümeleme

Parçalama, büyük metin örneklerini bir LLM'nin bağlam penceresine sığabilecek daha küçük ayrık parçalara indirir. Bağlam pencereleri büyürken (çıkarım sırasında daha fazla içerik parçasının doldurulmasına izin verir), parçalama doğruluk, hatırlama ve hesaplama verimliliği arasında doğru dengeyi kurmak için hayati bir strateji olmaya devam ediyor.


Etkili parçalama, uygun bir parça boyutunun seçilmesini gerektirir. Daha büyük yığın boyutları, bağlam penceresinde daha az toplam parçanın bulunmasına izin verme pahasına bir metin parçasının bağlamını ve anlamsal anlamını koruma eğilimindedir. Tersine, daha küçük yığın boyutları, LLM'nin bağlam penceresine daha ayrık içerik yığınlarının doldurulmasına olanak tanıyacaktır. Ancak ek korumalar olmadan her içerik parçası, çevresindeki bağlamdan çıkarıldığında daha düşük kalite riski taşır.


Farklı yığın boyutu yapılandırmalarıyla "Bana Beyonce'nin kariyer başarılarından bahsedin" istemi için örnek alma sonuçları.


Parça boyutuna ek olarak çeşitli parçalama stratejilerini ve yöntemlerini de değerlendirmeniz gerekecektir. Göz önünde bulundurulması gereken birkaç standart parçalama yöntemi şunlardır:


  • Sabit Boyut Stratejisi - Bu yöntemde, içerik parçalarımız için sabit sayıda jeton seçeriz ve içeriğimizi buna göre daha küçük parçalara ayırırız. Genel olarak, bu stratejiyi kullanırken çok fazla bağlam kaybını önlemek için bitişik parçalar arasında bir miktar örtüşme önerilir. Bu, en basit parçalama stratejisidir ve daha karmaşık stratejilere doğru maceraya atılmadan önce genellikle iyi bir başlangıç noktasıdır.


  • Dinamik Boyut Stratejisi - Bu yöntem, bir yığının nerede başlatılıp durdurulacağını belirlemek için çeşitli içerik özelliklerini kullanır. Basit bir örnek, cümleleri noktalar ve yeni satırlar gibi belirli karakterlerin varlığına göre bölen bir noktalama işareti parçalayıcısı olabilir. Bir noktalama işareti öbeği, basit kısa içerikler (örneğin, tweet'ler, karakter sınırlamalı ürün açıklamaları vb.) için oldukça iyi çalışabilirken, daha uzun ve daha karmaşık içerik için kullanıldığında belirgin dezavantajlara sahip olacaktır.


  • İçeriğe Duyarlı Strateji - İçeriğe duyarlı yığınlayıcılar, çıkarılan içerik türüne ve meta verilere göre ayarlanır ve her bir parçanın nerede başlatılıp durdurulacağını belirlemek için bu özellikleri kullanır. Bir örnek, öbek sınırlarını belirlemek için başlık etiketlerini kullanan HTML blogları için bir öbekleyici olabilir. Başka bir örnek, bağlamın yeni bir parçanın tanımlanmasını garanti edecek kadar önemli ölçüde değiştiğini belirlemek için her cümlenin ikili kosinüs benzerlik puanını önceki komşularıyla karşılaştıran anlamsal bir parçalayıcı olabilir.


RAG uygulamanız için en uygun parçalama stratejisinin, LLM'nin bağlam penceresi uzunluğuna, temeldeki metin yapısına, metin uzunluğuna ve derleminizdeki içeriğin karmaşıklığına göre ayarlanması gerekecektir. Belirli bir strateji için uygulama performansını daha iyi anlamak için çeşitli parçalama stratejilerini özgürce deneyin ve her değişiklikten sonra değerlendirmelerinizi çalıştırın. Parçalanmış içeriğinizi veri gölü tablolarınızda sürümlendirin ve her bir parçanın, yukarı akış veri çıkarma adımındaki ham içeriğe ve ilgili meta verilerine kadar izini sürmek için köken bilgilerine sahip olduğundan emin olun.

Zenginleştirme

Çoğu durumda, RAG sırasında alınmak üzere dizine eklenen içerik parçaları, uygulamanızın üretimde karşılaşacağı gerçek bilgi istemlerinden bağlamsal olarak farklıdır. Örneğin, bir yapay zeka soru yanıtlama botu oluşturuyorsanız, müşteri sorularına verilen çok sayıda doğru yanıtı içeren geniş bir özel bilgi birikimine sahip olabilirsiniz. Bununla birlikte, ham haliyle, derleminizin soru-cevap çiftleri formatında önceden düzenlenmesi pek olası değildir; bu, benzerlik temelli yerleştirme erişimi için idealdir. Bu örnekte, alma zamanında, gelen müşteri sorusuna semantik olarak benzeyen ham içerik parçalarını safça ararsak, alma sonuç kümesinin optimalin altında alaka düzeyiyle karşılaşabiliriz. Bu, bağlamsal olarak farklı öğelerin, yani soruların yanıtlarının benzerliğini karşılaştırdığımız gerçeğinin bir sonucudur. Neyse ki, çözüm nispeten basit: Yüksek Lisans'ların gücünü, olası cevaplarımızı - diğer bir deyişle ham içerik parçalarını - varsayımsal sorular halinde yeniden bağlamlandırarak zenginleştirmek için kullanabiliriz. Daha sonra bu varsayımsal soruları daha sonra geri almak üzere vektör veritabanımıza dizine ekleriz. Bu teknik, adı verilen Varsayımsal Belge Gömmeleri (HyDE) , belge işleme hattında verilerinizi zenginleştirmek için Yüksek Lisans kullanmanın gücünü göstermektedir. İşte bu tekniğin iyi bilinen bazı içeriklerde kullanılmasına ilişkin bir örnek: squad_v2 veri kümesi :


 System Prompt: Given the provided snippet of text, generate three hypothetical questions that could be asked about it. Each question must be able to be answered using the information within the referenced snippet of text and only that information. Be concise. User Prompt: “At the 52nd Annual Grammy Awards, Beyoncé received ten nominations, including Album of the Year for I Am... Sasha Fierce, Record of the Year for "Halo", and Song of the Year for "Single Ladies (Put a Ring on It)", among others. She tied with Lauryn Hill for most Grammy nominations in a single year by a female artist. In 2010, Beyoncé was featured on Lady Gaga's single "Telephone" and its music video. The song topped the US Pop Songs chart, becoming the sixth number-one for both Beyoncé and Gaga, tying them with Mariah Carey for most number-ones since the Nielsen Top 40 airplay chart launched in 1992. "Telephone" received a Grammy Award nomination for Best Pop Collaboration with Vocals.” Response: Here are some questions that could be asked based on the provided text: * How many nominations did Beyoncé receive at the 52nd Annual Grammy Awards? * For which album was Beyoncé nominated for Album of the Year at the 52nd Annual Grammy Awards? * Which song earned Beyoncé a nomination for Record of the Year at the 52nd Annual Grammy Awards?


Uzun biçimli ve/veya tematik olarak karmaşık içerikten oluşan bir bütünle çalışıyorsanız, içerik parçalarını önceden özetlemek ve böylece anlamsal boyutluluklarını azaltmak için ek ön işleme yapmayı düşünün. Alma sırasında, yığın özetlerinin yerleştirmelerini sorgulayabilir ve ardından bağlam penceresi ekleme yerine özetlenmemiş metni değiştirebilirsiniz. Bu yöntem, geniş, karmaşık ve/veya sık sık değişen bir derlem üzerinde RAG yaparken alaka düzeyini artırır.

Tokenizasyon

2024'teki büyük dil modelleri genellikle yazılı sözcüğü doğal olarak anlamayan transformatör tabanlı sinir ağlarıdır. Gelen ham metin jetonlara dönüştürülür ve ardından matris çarpım işlemleri için optimize edilmiş yüksek boyutlu yerleştirme vektörleri gelir. Bu gelen işleme genellikle kodlama denir. Tersine çevrilmiş giden sürece kod çözme denir. Birçok LLM yalnızca eğitim aldıkları tokenizasyon şemasını kullanarak çıkarım yapmak için çalışacaktır. Bu nedenle, seçilen tokenizasyon stratejisinin temellerini anlamak çok önemlidir çünkü bu stratejinin pek çok ince performans etkisi olabilir.


Basit karakter ve kelime düzeyinde tokenizasyon şemaları olmasına rağmen, en son teknolojiye sahip LLM'lerin neredeyse tamamı, bu yazının yazıldığı sırada alt kelime tokenizer'ları kullanıyor. Sonuç olarak, burada yalnızca bu tokenizer kategorisine odaklanacağız.


Alt kelime belirteçleri, kelimeleri yinelemeli olarak daha küçük birimlere böler. Bu, onların kelime dağarcığını çok fazla büyütmeden, kelime dağarcığı dışındaki kelimeleri anlamalarına olanak tanır; bu, eğitim performansı ve Yüksek Lisans'ın görünmeyen metinlere genelleme yapma yeteneği açısından önemli bir husustur.


Günümüzde kullanılan yaygın bir alt kelime belirleme yöntemi, bayt çifti kodlamadır (BPE). Yüksek düzeyde BPE algoritması şu şekilde çalışır:


  • Kelimeleri alt kelime birimlerine ayırın ve bunları kelime dağarcığına ekleyin. Her jeton, eğitim derlemi içindeki ortak bitişik karakter modellerinin göreceli frekansı tarafından yönetilen bir alt kelimeyi temsil eder.


  • Yukarıdaki adımdaki ortak jeton çiftlerini, çifti temsil eden tek bir jetonla değiştirin ve bunu sözlüğe ekleyin.


  • Yukarıdaki adımları tekrar tekrar tekrarlayın.


BPE tokenizasyonu, birçok kullanım durumunda iyi çalıştığından genellikle RAG uygulamanıza başlamak için mükemmel bir yerdir. Ancak, seçtiğiniz model için kullanılan eğitim öncesi derleminin sözlüğünde iyi bir şekilde temsil edilmeyen, önemli miktarda yüksek derecede uzmanlaşmış alan diline sahip olduğunuzu varsayalım. Bu durumda, alternatif tokenleştirme yöntemlerini araştırmayı veya bu makalenin kapsamı dışında kalan ince ayar ve düşük dereceli uyarlamayı keşfetmeyi düşünün. Bahsedilen kısıtlı sözcük dağarcığı sorunu, tıp, hukuk veya anlaşılması güç programlama dilleri gibi özel alanlar için oluşturulan uygulamalarda düşük performans olarak ortaya çıkabilir. Daha spesifik olarak, oldukça uzmanlaşmış bir dil/jargon içeren istemlerde yaygın olacaktır. Gerektiğinde farklı modellerle farklı tokenizasyon şemalarını ve bunların ilgili performanslarını denemek için veri gölünüzde depolanan değerlendirme veri kümesini kullanın. Belirteçlerin, yerleştirmelerin ve dil modellerinin genellikle birbirine sıkı sıkıya bağlı olduğunu unutmayın; dolayısıyla birini değiştirmek diğerlerini de değiştirmeyi gerektirebilir.

Çözüm

MinIO nesne deposunun üzerine inşa edilen modern bir veri gölü, RAG tabanlı uygulamaların güvenle üretime alınması için temel bir altyapı sağlar. Bunu uygulayarak, data lake tablolarınızda saklanabilecek ve sürümü oluşturulabilecek değerlendirmeler ve etki alanına özgü değerlendirme veri kümesi oluşturabilirsiniz. Bu değerlendirmeleri kullanarak, kendinize üretim düzeyinde bir belge işleme hattı oluşturmak için RAG uygulamalarınızın belge hattının her bir bileşenini (ayıklayıcılar, parçalayıcılar, zenginleştirme ve belirteçler) tekrar tekrar değerlendirin ve aşamalı olarak iyileştirin.


Sorularınız varsa bizimle iletişime geçmeyi unutmayın. Gevşek !