Herhangi bir konuşabilen yapay zeka robotuyla iletişim kurmayı deneyimlediyseniz, son derece "sinir bozucu" anları kesinlikle hatırlayabilirsiniz. Mesela önceki günkü sohbette bahsettiğiniz kilit noktalar yapay zeka tarafından tamamen unutuldu...
Bunun nedeni, mevcut LLM'lerin çoğunun yalnızca sınırlı bağlamı hatırlayabilmesidir.Tıpkı sınavlara çalışan öğrenciler gibi, küçük bir sorgulamanın ardından ayakları açığa çıkacaktır.
Bir sohbetteki bir yapay zeka asistanının haftalar veya aylar önceki konuşmalara bağlamsal olarak referans verebildiğini veya yapay zeka asistanından binlerce sayfa uzunluğundaki bir raporu özetlemesini isteyip istemediğinizi hayal edin.
LLM'nin daha fazla ve daha iyi hatırlanmasını sağlamak için araştırmacılar sürekli olarak yoğun bir şekilde çalışmaktadır. Son zamanlarda MIT, Meta AI ve CMU'dan araştırmacılar, dil modellerinin sonsuz metni sorunsuz bir şekilde işlemesini sağlamak için "StreamingLLM" adı verilen bir yöntem önerdiler.
* Kağıt adresi:
*proje adresi:
StreamingLLM'nin çalışma prensibi, modelin doğasında olan "dikkat alıcıları" tarafından sabitlenen ilk belirteçleri, mantığı için tanımlamak ve kaydetmektir. StreamingLLM, güncel belirteçlerin sürekli önbelleğiyle birleştirildiğinde doğruluktan ödün vermeden çıkarımı 22 kat hızlandırır. Proje, yalnızca birkaç gün içinde GitHub platformunda 2,5 bin yıldız kazandı:
Özellikle StreamingLLM, tıpkı yapay zeka asistanının hafızasının kusursuz bir şekilde işleyebilmesi için yükseltildiği gibi, dil modelinin son oyunun gol puanını, yenidoğanın adını, uzun sözleşmeyi veya tartışmanın içeriğini doğru bir şekilde hatırlamasını sağlar. daha ağır iş yükleri.
Daha sonra teknik detaylara bakalım.
Yöntem Yeniliği
Genellikle LLM, önceden eğitildiğinde dikkat penceresiyle sınırlıdır. Bu pencere boyutunu genişletmek ve eğitim ve çıkarım verimliliğini artırmak için daha önce pek çok çalışma yapılmış olmasına rağmen, LLM'nin kabul edilebilir dizi uzunluğu hala sınırlıdır ve bu da kalıcı dağıtım için uygun değildir.
Bu yazıda, araştırmacılar ilk olarak LLM akış uygulamaları kavramını tanıttılar ve şu soruyu sordular: "LLM, verimlilik ve performanstan ödün vermeden sonsuz uzunluktaki girdilerle konuşlandırılabilir mi?"
Yüksek Lisans'ı sonsuz uzunluktaki giriş akışlarına uygularken iki ana zorluk vardır:
Kod çözme aşaması sırasında, transformatör tabanlı LLM, Şekil 1 (a)'da gösterildiği gibi önceki tüm tokenlerin Anahtar ve Değer durumunu (KV) önbelleğe alır; bu, aşırı bellek kullanımına neden olabilir ve kod çözme gecikmesini artırabilir;
Mevcut modellerin uzunluk ekstrapolasyonu yeteneği sınırlıdır; yani dizi uzunluğu, ön eğitim sırasında ayarlanan dikkat penceresi boyutunu aştığında performansı düşecektir.
Sezgisel bir yönteme Pencere Dikkati adı verilir (Şekil 1b).Bu yöntem yalnızca en son belirtecin KV durumunda sabit boyutlu bir kayan pencereyi korur, ancak sabit bellek kullanımını ve kod çözme hızını koruyabilmesini sağlayabilir, ancak Dizi uzunluğu önbellek boyutunu aştığında veya hatta ilk jetonun KV'sini çıkardığında model çökecektir. Diğer bir yöntem ise kayan pencereyi yeniden hesaplamaktır (Şekil 1c'de gösterilmektedir). Bu yöntem, oluşturulan her token için son tokenin KV durumunu yeniden oluşturacaktır. Performans güçlü olmasına rağmen, pencere içinde ikincil dikkatin hesaplanmasını gerektirir. sonuç önemli ölçüde daha yavaştır ve bu, gerçek akış uygulamalarında ideal değildir.
Pencere dikkatinin başarısızlığını anlama sürecinde, araştırmacılar otoregresif LLM'nin ilginç bir fenomenini keşfettiler: Şekil 2'de gösterildiği gibi, bu belirteçlerin dil modelleme göreviyle ilgili olup olmadığına bakılmaksızın, ilk belirteçlere çok sayıda dikkat puanı atanır. . .
Araştırmacılar bu belirteçleri "dikkat havuzları" olarak adlandırıyor: Semantik anlamdan yoksun olmalarına rağmen büyük miktarda dikkat noktasını işgal ediyorlar. Araştırmacılar bu olguyu Softmax'a bağlamaktadır (bu, tüm bağlam belirteçlerinin dikkat puanlarının toplamının 1 olmasını gerektirir). Mevcut sorgu, önceki birçok belirteç arasında güçlü bir eşleşmeye sahip olmasa bile, modelin yine de bu gereksiz dikkatleri aktarması gerekmektedir. Değerler, toplamı 1 olacak şekilde bir yere atanır. İlk jetonun bir "havuz" haline gelmesinin nedeni sezgiseldir: otoregresif dil modellemenin özellikleri nedeniyle, ilk jeton hemen hemen tüm sonraki jetonlar tarafından görülebilir, bu da onların bir dikkat havuzu olarak eğitilmesini kolaylaştırır.
Yukarıdaki bilgilere dayanarak araştırmacılar, sınırlı bir dikkat penceresi kullanılarak eğitilen bir dikkat modelinin sonsuz uzunluktaki metinleri ince ayar yapmadan işlemesine olanak tanıyan basit ve etkili bir çerçeve olan StreamingLLM'yi önerdiler.
StreamingLLM, dikkat havuzlarının yüksek dikkat değerlerine sahip olduğu gerçeğinden yararlanır ve bu dikkat havuzlarını korumak, dikkat puanı dağılımını normal dağılıma yakın hale getirebilir. Bu nedenle, StreamingLLM'nin dikkat hesaplamasını sabitlemek ve modelin performansını dengelemek için yalnızca dikkat havuzu belirtecinin KV değerini (yalnızca 4 başlangıç belirteci yeterlidir) ve kayan pencerenin KV değerini koruması gerekir.
StreamingLLM kullanılarak Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B ve Pythia [2.9,6.9,12] B dahil modeller güvenilir bir şekilde Simulate 4 yapılabilir. milyon jeton veya daha fazlası.
Uygulanabilir tek temel olan kayan pencerenin yeniden hesaplanmasıyla karşılaştırıldığında StreamingLLM, performanstan ödün vermeden 22,2 kat daha hızlıdır.
Değerlendirme
Deneysel oturumda, Şekil 3'te gösterildiği gibi, 20K belirteçleri kapsayan metin üzerinde, StreamingLLM'nin karmaşıklığı Oracle taban çizgisiyle karşılaştırılabilir (kayan pencereyi yeniden hesaplıyor). Aynı zamanda, giriş uzunluğu eğitim öncesi pencereyi aştığında yoğun dikkat başarısız olacak ve giriş uzunluğu önbellek boyutunu aştığında pencere dikkati sorun yaratacak ve ilk belirtecin elenmesine neden olacaktır.
Şekil 5 ayrıca StreamingLLM'nin, çeşitli model ailelerini ve boyutlarını kapsayan 4 milyondan fazla jeton da dahil olmak üzere olağandışı boyutlardaki metinleri güvenilir bir şekilde işleyebildiğini doğrulamaktadır. Buna Llama-2-[7,13,70] B, Falcon-[7,40] B, Pythia-[2.8,6.9,12] B ve MPT-[7,30] B dahildir.
Daha sonra araştırmacılar "dikkat havuzu" hipotezini doğruladılar ve dil modelinin önceden eğitilebileceğini ve akış dağıtımı sırasında yalnızca bir dikkat havuzu jetonu gerektirdiğini kanıtladılar. Spesifik olarak, tüm eğitim örneklerinin başına belirlenmiş bir dikkat havuzu olarak ek bir öğrenilebilir belirteç eklenmesini öneriyorlar. Araştırmacılar, 160 milyon parametreli bir dil modelini sıfırdan önceden eğiterek, bu yöntemin modelin performansını koruyabildiğini gösterdi. Bu, aynı performans düzeyine ulaşmak için birden fazla başlangıç belirtecinin dikkat havuzları olarak yeniden sunulmasını gerektiren mevcut dil modelleriyle keskin bir tezat oluşturuyor.
Son olarak araştırmacılar, StreamingLLM'nin kod çözme gecikmesini ve bellek kullanımını yeniden hesaplama kayan penceresiyle karşılaştırdılar ve Llama-2-7B ve Llama-2-13B modellerini kullanarak tek bir NVIDIA A6000 GPU üzerinde test ettiler. Şekil 10'da gösterildiği gibi önbellek boyutu arttıkça StreamingLLM'nin kod çözme hızı doğrusal olarak artmaktadır. İkincisinin kod çözme gecikmesi ikinci dereceden bir eğride artar. Deneyler, StreamingLLM'nin her tokenın hızının 22,2 kata kadar artmasıyla etkileyici hızlanmalar elde ettiğini kanıtladı.
Daha fazla araştırma ayrıntısı için lütfen orijinal makaleye bakın.
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.
4 milyona kadar jeton bağlamı ve 22 kat daha hızlı çıkarımla StreamingLLM popüler hale geldi ve GitHub'da 2,5 bin yıldız aldı.
Editör: Yumurta Sosu
Herhangi bir konuşabilen yapay zeka robotuyla iletişim kurmayı deneyimlediyseniz, son derece "sinir bozucu" anları kesinlikle hatırlayabilirsiniz. Mesela önceki günkü sohbette bahsettiğiniz kilit noktalar yapay zeka tarafından tamamen unutuldu...
Bunun nedeni, mevcut LLM'lerin çoğunun yalnızca sınırlı bağlamı hatırlayabilmesidir.Tıpkı sınavlara çalışan öğrenciler gibi, küçük bir sorgulamanın ardından ayakları açığa çıkacaktır.
Bir sohbetteki bir yapay zeka asistanının haftalar veya aylar önceki konuşmalara bağlamsal olarak referans verebildiğini veya yapay zeka asistanından binlerce sayfa uzunluğundaki bir raporu özetlemesini isteyip istemediğinizi hayal edin.
LLM'nin daha fazla ve daha iyi hatırlanmasını sağlamak için araştırmacılar sürekli olarak yoğun bir şekilde çalışmaktadır. Son zamanlarda MIT, Meta AI ve CMU'dan araştırmacılar, dil modellerinin sonsuz metni sorunsuz bir şekilde işlemesini sağlamak için "StreamingLLM" adı verilen bir yöntem önerdiler.
StreamingLLM'nin çalışma prensibi, modelin doğasında olan "dikkat alıcıları" tarafından sabitlenen ilk belirteçleri, mantığı için tanımlamak ve kaydetmektir. StreamingLLM, güncel belirteçlerin sürekli önbelleğiyle birleştirildiğinde doğruluktan ödün vermeden çıkarımı 22 kat hızlandırır. Proje, yalnızca birkaç gün içinde GitHub platformunda 2,5 bin yıldız kazandı:
Yöntem Yeniliği
Genellikle LLM, önceden eğitildiğinde dikkat penceresiyle sınırlıdır. Bu pencere boyutunu genişletmek ve eğitim ve çıkarım verimliliğini artırmak için daha önce pek çok çalışma yapılmış olmasına rağmen, LLM'nin kabul edilebilir dizi uzunluğu hala sınırlıdır ve bu da kalıcı dağıtım için uygun değildir.
Bu yazıda, araştırmacılar ilk olarak LLM akış uygulamaları kavramını tanıttılar ve şu soruyu sordular: "LLM, verimlilik ve performanstan ödün vermeden sonsuz uzunluktaki girdilerle konuşlandırılabilir mi?"
Yüksek Lisans'ı sonsuz uzunluktaki giriş akışlarına uygularken iki ana zorluk vardır:
Kod çözme aşaması sırasında, transformatör tabanlı LLM, Şekil 1 (a)'da gösterildiği gibi önceki tüm tokenlerin Anahtar ve Değer durumunu (KV) önbelleğe alır; bu, aşırı bellek kullanımına neden olabilir ve kod çözme gecikmesini artırabilir;
Mevcut modellerin uzunluk ekstrapolasyonu yeteneği sınırlıdır; yani dizi uzunluğu, ön eğitim sırasında ayarlanan dikkat penceresi boyutunu aştığında performansı düşecektir.
Pencere dikkatinin başarısızlığını anlama sürecinde, araştırmacılar otoregresif LLM'nin ilginç bir fenomenini keşfettiler: Şekil 2'de gösterildiği gibi, bu belirteçlerin dil modelleme göreviyle ilgili olup olmadığına bakılmaksızın, ilk belirteçlere çok sayıda dikkat puanı atanır. . .
Yukarıdaki bilgilere dayanarak araştırmacılar, sınırlı bir dikkat penceresi kullanılarak eğitilen bir dikkat modelinin sonsuz uzunluktaki metinleri ince ayar yapmadan işlemesine olanak tanıyan basit ve etkili bir çerçeve olan StreamingLLM'yi önerdiler.
StreamingLLM, dikkat havuzlarının yüksek dikkat değerlerine sahip olduğu gerçeğinden yararlanır ve bu dikkat havuzlarını korumak, dikkat puanı dağılımını normal dağılıma yakın hale getirebilir. Bu nedenle, StreamingLLM'nin dikkat hesaplamasını sabitlemek ve modelin performansını dengelemek için yalnızca dikkat havuzu belirtecinin KV değerini (yalnızca 4 başlangıç belirteci yeterlidir) ve kayan pencerenin KV değerini koruması gerekir.
StreamingLLM kullanılarak Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B ve Pythia [2.9,6.9,12] B dahil modeller güvenilir bir şekilde Simulate 4 yapılabilir. milyon jeton veya daha fazlası.
Uygulanabilir tek temel olan kayan pencerenin yeniden hesaplanmasıyla karşılaştırıldığında StreamingLLM, performanstan ödün vermeden 22,2 kat daha hızlıdır.
Değerlendirme
Deneysel oturumda, Şekil 3'te gösterildiği gibi, 20K belirteçleri kapsayan metin üzerinde, StreamingLLM'nin karmaşıklığı Oracle taban çizgisiyle karşılaştırılabilir (kayan pencereyi yeniden hesaplıyor). Aynı zamanda, giriş uzunluğu eğitim öncesi pencereyi aştığında yoğun dikkat başarısız olacak ve giriş uzunluğu önbellek boyutunu aştığında pencere dikkati sorun yaratacak ve ilk belirtecin elenmesine neden olacaktır.
Son olarak araştırmacılar, StreamingLLM'nin kod çözme gecikmesini ve bellek kullanımını yeniden hesaplama kayan penceresiyle karşılaştırdılar ve Llama-2-7B ve Llama-2-13B modellerini kullanarak tek bir NVIDIA A6000 GPU üzerinde test ettiler. Şekil 10'da gösterildiği gibi önbellek boyutu arttıkça StreamingLLM'nin kod çözme hızı doğrusal olarak artmaktadır. İkincisinin kod çözme gecikmesi ikinci dereceden bir eğride artar. Deneyler, StreamingLLM'nin her tokenın hızının 22,2 kata kadar artmasıyla etkileyici hızlanmalar elde ettiğini kanıtladı.