Kurs Derslik

Transformers ile çıkarım — İki bakım notunu anlamlarını koruyarak toplu işleme

Ders özeti

Kısa bir bakım notunun yanına uzun bir inceleme raporu eklediniz. Aynı kısa not, tek başına ve toplu işlenirken benzer sınıf puanları vermeli. Modelin hangi konumları gördüğünü nasıl kontrol edersiniz?

Ders 2 / 2 · 3 dk · Başlangıç · TürkçeVideo dili · English

Öğrenme yolu

Model ayarları ve ağırlıkları, tokenizasyon, alt sözcükler, doldurma, maskeler ve toplu çıkarım.

Kurs, duygu analizini tokenizasyon, model çıkarımı ve sınıf puanlarının yorumlanması olarak ayırır. Bir gruptaki diziler farklı uzunluktaysa tek bir dikdörtgen tensör oluşturmak için kısa satırlar doldurulur. Dikkat maskesi, gerçek girdi konumlarını dolgu konumlarından ayırır.

Örneği adım adım çözün

  1. Sınır tokenları dahil iki örnek kimlik dizisi alın: [11, 12, 13] ve [21, 22, 23, 24, 25]. Bu alıştırmada dolgu kimliği sıfırdır. Gerçek bir modelde bu değeri tokenizer yapılandırmasından okuyun.

  2. Her iki satırı sağdan beş konuma tamamlayın. İlk satır iki dolgu alır. Maskenin ilk üç değerini bir, son iki değerini sıfır yapın. Maske toplamı kısa satırda üç, uzun satırda beş olmalıdır.

  3. Gerçek bir kodlayıcıyla deneyi tekrarlarken modeli ve tokenizer’ı aynı sürümden yükleyin. Modeli değerlendirme kipine alın, maskeyi de modele geçirin. Kısa notun tek başına ve grup içinde ürettiği ham sınıf puanlarını küçük bir sayısal toleransla karşılaştırın.

Beş kimlik ve ilk üç konumu tutan maske.

Özgün GuideWit şeması. Beş kimlik ve ilk üç konumu tutan maske.

Çözülmüş örnek

Girdi kimlikleri

Dikkat maskesi

Görünür token

[11, 12, 13]

[1, 1, 1, 0, 0]

3

[21, 22, 23, 24, 25]

[1, 1, 1, 1, 1]

5

Python 3 ile deneyin

rows = [[11, 12, 13], [21, 22, 23, 24, 25]]
width = max(map(len, rows))
for row in rows:
    pad = width - len(row)
    ids = row + [0] * pad
    mask = [1] * len(row) + [0] * pad
    print(ids, mask, sum(mask))

Beklenen çıktı

[11, 12, 13, 0, 0] [1, 1, 1, 0, 0] 3
[21, 22, 23, 24, 25] [1, 1, 1, 1, 1] 5
Python kodu ve gerçek çıktısı. Doldurulmuş iki satırda da beş konum var. Maske toplamları ise üç ve beş.

GuideWit yerel Python deneyi. Doldurulmuş iki satırda da beş konum var. Maske toplamları ise üç ve beş.

Arıza açıklaması model girdisinden kaybolduysa kesme ayarını inceleyin. Dikkat maskesi daha önce kesilmiş sözcükleri geri getiremez. Arıza bilgisini uzun bir notun sonuna koyun ve modelde kalan tokenları yeniden metne dönüştürün.

Sorun giderme

Belirti

Kontrol

Kısa satırda beş konumun tamamı görünür.

Dolguya karşılık gelen son iki maske değerinin sıfır olduğunu doğrulayın.

Notun sonundaki arıza bilgisi token dizisinde yok.

Azami uzunluğu ve kesme yönünü denetleyin.

Kontrol soruları

  1. İki satır birlikte kaç dolgu konumu içerir?
  2. Aynı etiket, modelin iki çalıştırmada aynı girdiyi gördüğünü gösterir mi?

Yanıt anahtarı

  1. İki. Yalnızca üç tokenlık kısa satırın tamamlanması gerekir.
  2. Hayır. Farklı ham puanlar aynı sınıfı birinci sıraya taşıyabilir. Kimlikleri, maskeleri ve puanları karşılaştırın.

Sözlük

Logit — Olasılığa dönüştürülmeden önceki ham sınıf puanı.

Kaynaklar ve bölüm üniteleri