# Terimler Sözlüğü

Bu sözlük, belgeleri daha iyi anlamanıza yardımcı olmak için genel makine öğrenimi ve 🤗 Transformers terimlerini tanımlar.

## A

### attention mask

Dikkat maskesi, dizilerin birlikte toplu işlenmesi (batching) sırasında kullanılan isteğe bağlı bir argümandır.

Bu argüman, modelin hangi jetonlara dikkat etmesi, hangilerine etmemesi gerektiğini belirtir.

Örneğin, şu iki diziyi ele alalım:

```python
>>> from transformers import BertTokenizer

>>> tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-cased")

>>> sequence_a = "This is a short sequence."
>>> sequence_b = "This is a rather long sequence. It is at least longer than the sequence A."

>>> encoded_sequence_a = tokenizer(sequence_a)["input_ids"]
>>> encoded_sequence_b = tokenizer(sequence_b)["input_ids"]
```

Kodlanmış sürümlerin uzunlukları farklıdır:

```python
>>> len(encoded_sequence_a), len(encoded_sequence_b)
(8, 19)
```

Dolayısıyla, bu dizileri olduğu gibi aynı tensöre yerleştiremeyiz. İlk dizinin, ikincisinin uzunluğuna kadar dolgu (padding) ile tamamlanması veya ikincisinin, ilkinin uzunluğuna kadar kısaltılması gerekir.

İlk durumda, kimlik listesi dolgu indeksleriyle genişletilir. Tokenizer'a bir liste geçirip şu şekilde dolgu yapmasını isteyebiliriz:

```python
>>> padded_sequences = tokenizer([sequence_a, sequence_b], padding=True)
```

İlk cümlenin sağ tarafına, ikinci cümleyle aynı uzunlukta olması için 0'ların eklendiğini görebiliriz:

```python
>>> padded_sequences["input_ids"]
[[101, 1188, 1110, 170, 1603, 4954, 119, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [101, 1188, 1110, 170, 1897, 1263, 4954, 119, 1135, 1110, 1120, 1655, 2039, 1190, 1103, 4954, 138, 119, 102]]
```

Bu, ardından PyTorch'ta bir tensöre dönüştürülebilir. Dikkat maskesi, modelin bu indekslere dikkat etmemesi için dolgulu indekslerin konumunu gösteren ikili bir tensördür. [BertTokenizer](/docs/transformers/main/tr/model_doc/lxmert#transformers.BertTokenizer) için `1`, dikkat edilmesi gereken bir değeri, `0` ise dolgulu bir değeri belirtir. Bu dikkat maskesi, tokenizer'ın döndürdüğü sözlükte "attention_mask" anahtarı altında bulunur:

```python
>>> padded_sequences["attention_mask"]
[[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
```

### otomatik kodlama modelleri

[encoder modelleri](#encoder-models) ve [masked language modeling](#masked-language-modeling-mlm) hakkında bilgi edinin

### otoregresif modeller

[neden dil modellemesi](#causal-language-modeling) ve [decoder modelleri](#decoder-models) hakkında bilgi edinin

## B

### backbone

Backbone, ham gizli durumları veya özellikleri üreten ağdır (gömlemeler ve katmanlar). Genellikle, girdi olarak bu özellikleri kabul edip bir tahminde bulunan bir [head](#head) ile bağlantılıdır. Örneğin, [ViTModel](/docs/transformers/main/tr/model_doc/vit#transformers.ViTModel) üstünde belirli bir head bulunmayan bir backbone'dur. Diğer modeller de [DPT](./model_doc/dpt) gibi [ViTModel](/docs/transformers/main/tr/model_doc/vit#transformers.ViTModel)'i backbone olarak kullanabilir.

## C

### neden dil modellemesi

Modelin metinleri sırayla okuyup bir sonraki kelimeyi tahmin etmesini gerektiren bir ön eğitim görevi. Genellikle tüm cümle okunarak, ancak belirli bir zaman adımında gelecekteki jetonları gizlemek için modelin içinde bir maske kullanılarak yapılır.

### kanal

Renkli görüntüler, kırmızı, yeşil ve mavi (RGB) olmak üzere üç kanalın değerlerinden oluşan bir kombinasyondan oluşur; gri tonlu görüntüler ise yalnızca bir kanala sahiptir. 🤗 Transformers'ta kanal, görüntünün tensörünün ilk veya son boyutu olabilir: [`n_channels`, `height`, `width`] veya [`height`, `width`, `n_channels`].

### bağlantıcı zaman sınıflandırması (CTC)

Girdi ve çıktının tam olarak nasıl hizalandığını bilmeden bir modelin öğrenmesine olanak tanıyan bir algoritmadır; CTC, verilen bir girdi için olası tüm çıktıların dağılımını hesaplar ve bunlardan en olası çıktıyı seçer. CTC, konuşma hızlarındaki farklılıklar gibi çeşitli nedenlerle konuşmanın transkripsiyonla her zaman temiz bir şekilde hizalanmaması nedeniyle konuşma tanıma görevlerinde yaygın olarak kullanılır.

### konvolüsyon

Sinir ağlarında bir katman türü; giriş matrisi, daha küçük bir matrisle (çekirdek veya filtre) eleman bazında çarpılır ve değerler yeni bir matriste toplanır. Bu, giriş matrisinin tamamı üzerinde tekrarlanan bir konvolüsyon işlemidir. Her işlem, giriş matrisinin farklı bir segmentine uygulanır. Konvolüsyonel sinir ağları (CNN'ler) bilgisayarla görüde yaygın olarak kullanılır.

## D

### DataParallel (DP)

Birden fazla GPU üzerinde eğitim için kullanılan paralellik tekniğinde, aynı yapılandırma birden fazla kez kopyalanır ve her kopya farklı bir veri dilimi alır. İşleme paralel olarak yapılır ve her eğitim adımının sonunda tüm yapılandırmalar senkronize edilir.

[DataParallel](./perf_train_gpu_many#dataparallel) hakkında daha fazla bilgi edinin.

### decoder girdi kimlikleri

Bu girdi, encoder-decoder modellerine özgüdür ve decoder'a verilecek girdi kimliklerini içerir. Bu girdiler, çeviri veya özetleme gibi diziden-diziye (sequence to sequence) görevler için kullanılmalıdır ve genellikle her modele özgü bir şekilde oluşturulur.

Çoğu encoder-decoder modeli (BART, T5), `decoder_input_ids` değerlerini `labels` üzerinden kendi oluşturur. Bu tür modellerde eğitim işlemini yönetmek için tercih edilen yöntem `labels` parametresini iletmektir.

Bu girdi kimliklerini diziden diziyi eğitimi için nasıl ele aldıklarını görmek için her modelin belgelerini kontrol edin.

### decoder modeller

Ayrıca otoregresif modeller olarak da adlandırılan decoder modelleri, modelin metinleri sırayla okuyup bir sonraki kelimeyi tahmin etmesini gerektiren bir ön eğitim görevine (nedensel dil modellemesi olarak adlandırılır) dayanır. Bu işlem genellikle, belirli bir zaman adımında gelecekteki tokenları gizlemek için tüm cümlenin bir maske ile okunması şeklinde yapılır.

### derin öğrenme (DL)

Birden fazla katmana sahip sinir ağlarını kullanan makine öğrenmesi algoritmaları.

## E

### encoder modeller

Ayrıca oto-kodlama modelleri olarak da bilinen kodlayıcı modeller, bir girdiyi (metin veya görüntüler gibi) alır ve bunları gömme (embedding) olarak adlandırılan sıkıştırılmış sayısal bir temsil biçimine dönüştürür. Kodlayıcı modeller, girdi dizisinin bir kısmını maskeleyerek ve modelin daha anlamlı temsiller oluşturmasını sağlayarak [maskeli dil modelleme](#masked-language-modeling-mlm) gibi tekniklerle önceden eğitilir.

## F

### özellik çıkarımı

Ham verilerin, makine öğrenmesi algoritmaları için daha bilgilendirici ve faydalı bir özellik kümesine dönüştürülmesi süreci. Özellik çıkarımına bazı örnekler, ham metni kelme gömmelelerine (word embeddings) dönüştürmek ve görüntü/video verilerinden kenarlar veya şekiller gibi önemli özellikleri çıkarmaktır.

### feed forward parçalama

transformers'taki her kalıntı dikkat bloğunda, öz-dikkat katmanının ardından genellikle 2 ileri beslemeli (feed forward) katman bulunur. İleri beslemeli katmanların ara gömme boyutu, modelin gizli boyutundan (hidden size) genellikle daha büyüktür (örneğin, `google-bert/bert-base-uncased` için).

`[batch_size, sequence_length]` boyutundaki bir girdi için, ara feed forward gömme değerlerini `[batch_size, sequence_length, config.intermediate_size]` olarak saklamak için gereken bellek, toplam bellek kullanımının büyük bir kısmını oluşturabilir. [Reformer: The Efficient Transformer](https://huggingface.co/papers/2001.04451) makalesinin yazarları, hesaplamanın `sequence_length` boyutundan bağımsız olduğunu ve bu nedenle, her iki feed forward katmanının çıktı gömme değerlerini `[batch_size, config.hidden_size]_0, ..., [batch_size, config.hidden_size]_n` şeklinde ayrı ayrı hesaplayıp ardından `n = sequence_length` olacak şekilde `[batch_size, sequence_length, config.hidden_size]` boyutunda birleştirmenin matematiksel olarak eşdeğer olduğunu fark etmişlerdir. Bu yöntem, artan hesaplama süresini azalan bellek kullanımıyla takas ederken matematiksel olarak **eşdeğer** bir sonuç verir.

[apply_chunking_to_forward()](/docs/transformers/main/tr/internal/modeling_utils#transformers.apply_chunking_to_forward) fonksiyonunu kullanan modellerde `chunk_size`, paralel olarak hesaplanan çıktı gömme (embedding) sayısını belirler ve bu sayede bellek ile zaman karmaşıklığı arasındaki dengeyi tanımlar. `chunk_size` değeri 0 olarak ayarlanırsa, ileri besleme (feed forward) parçalama yapılmaz.

### ince ayarlanmış modeller

Finetuning, önceden eğitilmiş bir modeli alıp ağırlıklarını dondurmak ve çıktı katmanını yeni eklenen bir [model head](#head) ile değiştirmeyi içeren bir transfer öğrenme biçimidir. Model head, hedef veri setiniz üzerinde eğitilir.

Daha fazla ayrıntı için [Fine-tune a pretrained model](./training) eğitim materyaline göz atın ve 🤗 Transformers ile modelleri nasıl ince ayar yapacağınızı öğrenin.

## H

### baş

Model başı, ham gizli durumları kabul eden ve bunları farklı bir boyuta yansıtan sinir ağındaki son katmanı ifade eder. Her görev için farklı bir model başı vardır. Örneğin:

* [GPT2ForSequenceClassification](/docs/transformers/main/tr/model_doc/gpt2#transformers.GPT2ForSequenceClassification), temel [GPT2Model](/docs/transformers/main/tr/model_doc/gpt2#transformers.GPT2Model) üzerinde bir dizi sınıflandırma başlığıdır; bir doğrusal katmandır.
* [ViTForImageClassification](/docs/transformers/main/tr/model_doc/vit#transformers.ViTForImageClassification), [ViTModel](/docs/transformers/main/tr/model_doc/vit#transformers.ViTModel) tabanının üzerine eklenmiş bir görüntü sınıflandırma başlığıdır; `CLS` jetonunun son gizli durumu üzerinde bir doğrusal katmandır.
* [Wav2Vec2ForCTC](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC), temel [Wav2Vec2Model](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2Model) üzerine [CTC](#connectionist-temporal-classification-ctc) içeren bir dil modelleme başlığıdır.

## I

### görsel yaması

Görüntü tabanlı Transformers modelleri, bir görüntüyü daha küçük yamalara (patch) böler, bu yamaları doğrusal olarak gömme (embedding) yapar ve ardından bir dizi olarak modele iletir. Modelin `patch_size` değerini - yani çözünürlüğünü - yapılandırmasında bulabilirsiniz.

### inference

Inference, eğitim tamamlandıktan sonra bir modelin yeni veriler üzerinde değerlendirilme sürecidir. 🤗 Transformers ile inference nasıl yapılacağını öğrenmek için [Inference için Pipeline](./pipeline_tutorial) eğitimine göz atın.

### girdi kimlikleri

Girdi kimlikleri, modele girdi olarak iletilmesi gereken tek zorunlu parametrelerdir. Bunlar, modelin girdi olarak kullanacağı dizileri oluşturan tokenların sayısal temsilleri olan token indeksleridir.

Her tokenizer farklı çalışır ancak altta yatan mekanizma aynıdır. Aşağıda, [WordPiece](https://huggingface.co/papers/1609.08144) tokenizer'ı olan BERT tokenizer'ı kullanılarak bir örnek verilmiştir:

```python
>>> from transformers import BertTokenizer

>>> tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-cased")

>>> sequence = "A Titan RTX has 24GB of VRAM"
```

Tokenizör, diziyi tokenizör sözlüğünde mevcut olan token'lara bölmekten sorumludur.

```python
>>> tokenized_sequence = tokenizer.tokenize(sequence)
```

Tokenler kelimeler veya alt kelimelerdir. Örneğin burada, "VRAM" model sözlüğünde yer almadığı için "V", "RA" ve "M" olarak bölünmüştür. Bu tokenlerin ayrı kelimeler değil, aynı kelimenin parçaları olduğunu belirtmek için "RA" ve "M" için çift tırnak işareti (double-hash) öneki eklenir:

```python
>>> print(tokenized_sequence)
['A', 'Titan', 'R', '##T', '##X', 'has', '24', '##GB', 'of', 'V', '##RA', '##M']
```

Bu jetonlar, ardından modelin anlayabileceği kimliklere dönüştürülebilir. Bu işlem, cümleyi doğrudan [🤗 Tokenizers](https://github.com/huggingface/tokenizers)'ın Rust uygulamasından yararlanarak en yüksek performansı sağlayan tokenizer'a verilerek yapılabilir.

```python
>>> inputs = tokenizer(sequence)
```

Tokenizer, ilgili modelin düzgün çalışması için gereken tüm argümanları içeren bir sözlük döndürür. Token indeksleri `input_ids` anahtarı altındadır:

```python
>>> encoded_sequence = inputs["input_ids"]
>>> print(encoded_sequence)
[101, 138, 18696, 155, 1942, 3190, 1144, 1572, 13745, 1104, 159, 9664, 2107, 102]
```

Dikkat edin, tokenizer, ilgili model bunlara dayanıyorsa, modelin bazen kullandığı özel kimlikler olan "özel tokenları" otomatik olarak ekler.

Önceki kimlik dizisini çözersek,

```python
>>> decoded_sequence = tokenizer.decode(encoded_sequence)
```

göreceğiz

```python
>>> print(decoded_sequence)
[CLS] A Titan RTX has 24GB of VRAM [SEP]
```

çünkü bir [BertModel](/docs/transformers/main/tr/model_doc/bert#transformers.BertModel) girdilerini bu şekilde bekleyecektir.

## L

### etiketler

Etiketler, modelin kaybı kendisinin hesaplamasını sağlamak amacıyla geçirilebilen isteğe bağlı bir argümandır. Bu etiketler, modelin beklenen tahmini olmalıdır: model, tahminleri ile beklenen değer (etiket) arasındaki kaybı hesaplamak için standart kaybı kullanır.

Bu etiketler, model başına göre farklılık gösterir, örneğin:

- Sınıflandırma modelleri için ([BertForSequenceClassification](/docs/transformers/main/tr/model_doc/bert#transformers.BertForSequenceClassification)), modelin boyutu `(batch_size)` olan bir tensör beklenir ve bu tensördeki her değer, tüm dizinin beklenen etiketine karşılık gelir.
- Token sınıflandırma modelleri için ([BertForTokenClassification](/docs/transformers/main/tr/model_doc/bert#transformers.BertForTokenClassification)), modelin boyutu `(batch_size, seq_length)` olan bir tensör beklenir; bu tensördeki her değer, ilgili tekil token'ın beklenen etiketine karşılık gelir.
- Maskeli dil modellemesi için ([BertForMaskedLM](/docs/transformers/main/tr/model_doc/bert#transformers.BertForMaskedLM)), modelin boyutu `(batch_size, seq_length)` olan bir tensör beklenir; bu tensördeki her değer, ilgili token'ın beklenen etiketini temsil eder: maskelenmiş token için etiket, token kimliğidir; diğer token'lar için ise yok sayılacak değerlerdir (genellikle -100).
- Sıralıdan sıralıya (sequence to sequence) görevlerde ([BartForConditionalGeneration](/docs/transformers/main/tr/model_doc/bart#transformers.BartForConditionalGeneration), [MBartForConditionalGeneration](/docs/transformers/main/tr/model_doc/mbart#transformers.MBartForConditionalGeneration)), modelin `(batch_size, tgt_seq_length)` boyutunda bir tensör beklenir; bu tensördeki her değer, ilgili girdi sırasıyla ilişkilendirilen hedef sıraları temsil eder. Eğitim sırasında hem BART hem de T5, uygun `decoder_input_ids` ve decoder dikkat maskelerini dahili olarak oluşturur. Bu girdiler genellikle sağlanmak zorunda değildir. Bu durum, Encoder-Decoder çerçevesini kullanan modeller için geçerli değildir.
- Görsel sınıflandırma modelleri için ([ViTForImageClassification](/docs/transformers/main/tr/model_doc/vit#transformers.ViTForImageClassification)), modelin boyutu `(batch_size)` olan bir tensör beklenir; bu tensördeki her değer, her bir görselin beklenen etiketine karşılık gelir.
- Anlamsal segmentasyon modelleri için ([SegformerForSemanticSegmentation](/docs/transformers/main/tr/model_doc/segformer#transformers.SegformerForSemanticSegmentation)), modelin `(batch_size, height, width)` boyutunda bir tensör beklediği ve batch'in her bir değerinin, her bir pikselin beklenen etiketine karşılık geldiği varsayılır.
- Nesne algılama modelleri için ([DetrForObjectDetection](/docs/transformers/main/tr/model_doc/detr#transformers.DetrForObjectDetection)), modelin, her bir değerinin partiye (batch) ait her bir bireysel görüntünün beklenen etiketine ve sınırlayıcı kutu (bounding box) sayısına karşılık geldiği, `class_labels` ve `boxes` anahtarlarına sahip sözlüklerden oluşan bir liste beklenir.
- Otomatik konuşma tanıma modelleri için ([Wav2Vec2ForCTC](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC)), modelin boyutu `(batch_size, target_length)` olan bir tensör beklenir ve bu tensördeki her değer, ilgili tekil token'ın beklenen etiketine karşılık gelir.

Her modelin etiketleri farklı olabilir, bu nedenle belirli etiketleri hakkında daha fazla bilgi için her zaman ilgili modelin dokümantasyonunu kontrol etmenizden emin olun!

Temel modeller ([BertModel](/docs/transformers/main/tr/model_doc/bert#transformers.BertModel)), temel transformer modelleri oldukları için etiketleri kabul etmez; yalnızca özellikleri (features) çıktılar.

### büyük dil modelleri (LLM)

Dönüştürücü dil modellerine (GPT-3, BLOOM, OPT) atıfta bulunan genel bir terimdir; bu modeller büyük miktarda veri üzerinde eğitilmiştir. Bu modellerin ayrıca öğrenilebilir parametre sayısının da yüksek olma eğilimi vardır (ör. GPT-3 için 175 milyar).

## M

### maskeli dil modellemesi (MLM)

Modelin, genellikle bazı token'ların rastgele maskelenmesiyle oluşturulan bozulmuş bir metin sürümünü gördüğü ve orijinal metni tahmin etmesi gereken bir ön eğitim görevi.

### çok modlu

Metinleri başka türden girdilerle (örneğin görsellerle) birleştiren bir görev.

## N

### Doğal dil üretimi (NLG)

Metin üretimiyle ilgili tüm görevler (örneğin, [Write With Transformers](https://transformer.huggingface.co/), çeviri).

### Doğal dil işleme (NLP)

"Metinlerle uğraşmak" ifadesinin genel bir karşılığı.

### Doğal dil anlama (NLU)

Bir metnin içeriğini anlama ile ilgili tüm görevler (örneğin, tüm metni veya bireysel kelimeleri sınıflandırma).

## P

### pipeline

🤗 Transformers'ta bir pipeline, belirli bir sırayla çalıştırılan ve verileri ön işlemeye dönüştürüp bir modelden tahmin döndüren bir dizi adımı ifade eden bir soyutlamadır. Bir pipeline'da bulunabilecek bazı örnek aşamalar veri ön işleme, özellik çıkarımı ve normalleştirmedir.

Daha fazla ayrıntı için [Çıkarım için Hattlar](./pipeline_tutorial) bölümüne bakın.

### PipelineParallel (PP)

Modelin birden fazla GPU üzerinde dikey olarak (katman düzeyinde) bölündüğü paralellik tekniği; bu sayede tek bir GPU üzerinde yalnızca modelin bir veya birkaç katmanı yer alır. Her GPU, hattın farklı aşamalarını paralel olarak işler ve batch'in küçük bir dilimi üzerinde çalışır. [PipelineParallel](./perf_train_gpu_many#pipeline-parallelism) hakkında daha fazla bilgi edinin.

### piksel değerleri

Bir modele iletilen bir görüntünün sayısal temsillerinden oluşan bir tensör. Piksel değerlerinin şekli [`batch_size`, `num_channels`, `height`, `width`] şeklindedir ve bir görüntü işleyicisinden (image processor) üretilir.

### pooling

Bir matrisi, havuzlama boyut(lar)ının maksimum veya ortalamasını alarak daha küçük bir matrise indirgeyen bir işlemdir. Havuzlama katmanları, genellikle konvolüsyonel katmanlar arasında, özellik temsilini örneklemeyi azaltmak (downsample) için bulunur.

### konum kimlikleri

Her tokenin konumunu kendi içinde barındıran RNN'lerin aksine, transformer'lar her tokenin konumundan habersizdir. Bu nedenle, model token listesindeki her tokenin konumunu belirlemek için konum kimliklerini (`position_ids`) kullanır.

Bunlar isteğe bağlı bir parametredir. Modelde `position_ids` geçirilmezse, kimlikler otomatik olarak mutlak konumsal gömme olarak oluşturulur.

Mutlak konumsal gömmelemeler `[0, config.max_position_embeddings - 1]` aralığında seçilir. Bazı modeller, sinüsoidal konum gömmelemeleri veya göreli konum gömmelemeleri gibi diğer türlerdeki konumsal gömmelemeleri kullanır.

### ön işleme

Ham verinin makine öğrenmesi modelleri tarafından kolayca tüketilebilecek bir formata dönüştürülmesi görevi. Örneğin, metin genellikle tokenizasyon ile ön işlenir. Diğer girdi türleri için ön işlemenin nasıl göründüğü hakkında daha iyi bir fikir edinmek için [Preprocess](https://huggingface.co/docs/transformers/preprocessing) eğitimine göz atın.

### ön eğitilmiş model

Bazı verilerde (örneğin Wikipedia'nın tamamı) ön eğitilmiş bir model. Ön eğitim yöntemleri, kendiliğinden denetimli bir hedef içerir; bu hedef, metni okuyup bir sonraki kelimeyi tahmin etmeye (bkz. [nedensel dil modellemesi](#causal-language-modeling)) veya bazı kelimeleri maskeleyip onları tahmin etmeye (bkz. [maskeli dil modellemesi](#masked-language-modeling-mlm)) çalışmak olabilir.

Ses ve görme modellerinin kendi kendine ön eğitim amaçları vardır. Örneğin, Wav2Vec2, modelin "doğru" ses temsilini bir dizi "yanlış" ses temsilinden ayırt etmesini gerektiren bir kontrastif görev üzerinde ön eğitilmiş bir ses modelidir. Öte yandan, BEiT, bazı görüntü yamalarını maskeleyen ve modelin maskeleme dil modelleme amacına benzer şekilde bu maskeleme yamalarını tahmin etmesini gerektiren bir maskeleme görüntü modelleme görevi üzerinde ön eğitilmiş bir görme modelidir.

## R

### geri beslemeli sinir ağı (RNN)

Bir katman üzerinde döngü kullanarak metinleri işleyen bir model türü.

### temsil öğrenimi

Ham verinin anlamlı temsillerini öğrenmeye odaklanan makine öğrenmesinin bir alt alanı. Temsil öğrenme tekniklerinin bazı örnekleri arasında kelme gömme (word embeddings), oto-kodlayıcılar (autoencoders) ve Üretken Düşman Ağları (GANs) yer alır.

## S

### örnekleme hızı

Saniyede alınan örnek (ses sinyali) sayısının hertz cinsinden ölçümüdür. Örnekleme hızı, konuşma gibi sürekli bir sinyalin ayrıklaştırılmasının bir sonucudur.

### self-attention

Girdinin her öğesi, girdinin hangi diğer öğelerine dikkat etmesi gerektiğini belirler.

### kendiliğinden denetimli öğrenme

Etiketli olmayan verilerden kendi öğrenme hedefini oluşturan bir makine öğrenimi teknikleri kategorisi. Öğrenme süreci denetimli olmakla birlikte kullanıcının açık yönlendirmesi olmadan gerçekleştiği için [denetimsiz öğrenmeden](#unsupervised-learning) ve [denetimli öğrenmeden](#supervised-learning) farklıdır.

Özdenetimli öğrenmenin bir örneği, [maskeli dil modellemesidir](#masked-language-modeling-mlm); bu yöntemde modele, tokenlarının bir kısmı kaldırılmış cümleler verilir ve model eksik tokenları tahmin etmeyi öğrenir.

### yarı-denetimli öğrenme

[denetimli öğrenme](#supervised-learning) ve [denetimsiz öğrenme](#unsupervised-learning)'den farklı olarak, bir modelin doğruluğunu artırmak için küçük miktarda etiketli veriyi daha büyük miktarda etiketsiz veriyle birleştiren geniş bir makine öğrenimi eğitim teknikleri kategorisi.

Yarı denetimli öğrenme yaklaşımının bir örneği olan "self-training" (kendinden eğitim) yönteminde, model önce etiketli veriler üzerinde eğitilir ve ardından etiketsiz veriler üzerinde tahminler yapmak için kullanılır. Modelin en yüksek güvenle tahmin ettiği etiketsiz veri bölümü, etiketli veri setine eklenir ve modelin yeniden eğitilmesinde kullanılır.

### diziden-diziye (seq2seq)

Çeviri modelleri veya özetleme modelleri gibi (örneğin [Bart](./model_doc/bart) veya [T5](./model_doc/t5)) bir girdiden yeni bir dizi üreten modeller.

### Parçalı DDP

ZeRO'nun çeşitli diğer uygulamaları tarafından kullanılan temel [ZeRO](#zero-redundancy-optimizer-zero) kavramının bir diğer adı.

### stride

[convolution](#convolution) veya [pooling](#pooling) işlemlerinde stride, çekirdeğin (kernel) bir matris üzerinde kaydırıldığı mesafeyi ifade eder. Stride değeri 1 ise çekirdek her seferinde bir piksel, 2 ise her seferinde iki piksel kaydırılır.

### denetimli öğrenme

Model performansını düzeltmek ve yönlendirmek için doğrudan etiketli verileri kullanan bir model eğitimi biçimi. Veriler, eğitilen modele beslenir ve tahminleri bilinen etiketlerle karşılaştırılır. Model, tahminlerinin ne kadar hatalı olduğuna göre ağırlıklarını günceller ve model performansını optimize etmek için süreç tekrarlanır.

## T

### Tensor Paralelliği (TP)

Birden fazla GPU üzerinde eğitim için kullanılan paralellik tekniğinde her tensör birden çok parçaya bölünür; böylece tensörün tamamı tek bir GPU'da barındırılmak yerine, tensörün her parçası kendisine atanan GPU'da barındırılır. Parçalar farklı GPU'larda ayrı ayrı ve paralel olarak işlenir ve sonuçlar, işleme adımının sonunda senkronize edilir. Bölme işlemi yatay düzeyde gerçekleştiği için bu yaklaşıma bazen yatay paralellik denir. Tensor Parallelism hakkında daha fazla bilgiyi [burada](./perf_train_gpu_many#tensor-parallelism) bulabilirsiniz.

### token

Bir cümlenin parçası, genellikle bir kelime, ancak bazen bir alt kelime (az kullanılan kelimeler genellikle alt kelimelere bölünür) veya bir noktalama işaretidir.

### token türü kimlikleri

Bazı modellerin amacı, cümle çiftleri üzerinde sınıflandırma yapmaktır veya soru-cevap işlemi gerçekleştirmektir.

Bunlar, genellikle sınıflandırıcı (`[CLS]`) ve ayırıcı (`[SEP]`) gibi özel jetonların yardımıyla, tek bir "input_ids" girdisinde birleştirilmesi gereken iki farklı diziyi gerektirir. Örneğin, BERT modeli iki dizili girdisini şu şekilde oluşturur:

```python
>>> # [CLS] SEQUENCE_A [SEP] SEQUENCE_B [SEP]
```

İki diziyi `tokenizer`'a bir liste olarak değil, önceki gibi iki ayrı argüman olarak geçirerek (aşağıdaki gibi) tokenizer'ımızı kullanarak bu tür bir cümleyi otomatik olarak üretebiliriz:

```python
>>> from transformers import BertTokenizer

>>> tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-cased")
>>> sequence_a = "HuggingFace is based in NYC"
>>> sequence_b = "Where is HuggingFace based?"

>>> encoded_dict = tokenizer(sequence_a, sequence_b)
>>> decoded = tokenizer.decode(encoded_dict["input_ids"])
```

şu sonucu döndürür:

```python
>>> print(decoded)
[CLS] HuggingFace is based in NYC [SEP] Where is HuggingFace based? [SEP]
```

Bazı modellerin bir dizinin nerede bittiğini ve diğerinin nerede başladığını anlaması için bu yeterlidir. Ancak BERT gibi diğer modeller, token türü kimliklerini (aynı zamanda segment kimlikleri olarak da adlandırılır) de kullanır. Bunlar, modeldeki iki tür diziyi tanımlayan ikili bir maske olarak temsil edilir.

Tokenizör bu maskenin "token_type_ids" girdisi olarak döndürür:

```python
>>> encoded_dict["token_type_ids"]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

İlk dizi, soru için kullanılan "bağlam", tüm token'ları `0` ile temsil edilirken, "soru"ya karşılık gelen ikinci dizide tüm token'lar `1` ile temsil edilir.

[XLNetModel](/docs/transformers/main/tr/model_doc/xlnet#transformers.XLNetModel) gibi bazı modeller, `2` ile temsil edilen ek bir jeton kullanır.

### transfer öğrenimi

Önceden eğitilmiş bir modeli alıp görevinize özgü bir veri setine uyarlamayı içeren bir tekniktir. Bir modeli sıfırdan eğitmek yerine, bir başlangıç noktası olarak mevcut bir modelden elde edilen bilgiden yararlanabilirsiniz. Bu, öğrenme sürecini hızlandırır ve gereken eğitim verisi miktarını azaltır.

### transformer

Kendine-dikkat tabanlı derin öğrenme model mimarisi.

## U

### gözetimsiz öğrenme

Modeline sağlanan verilerin etiketlenmediği bir model eğitimi biçimi. Denetimsiz öğrenme teknikleri, eldeki görev için faydalı kalıpları bulmak üzere veri dağılımının istatistiksel bilgisinden yararlanır.

## Z

### Sıfır Artık Optimizör (ZeRO)

[TensorParallel](#tensor-parallelism-tp)'a benzer bir şekilde tensörlerin parçalanmasını (sharding) gerçekleştiren paralellik tekniği; ancak bu yöntemde, ileri veya geri yayılım hesabı için tam zamanında tüm tensör yeniden oluşturulduğundan modelin değiştirilmesine gerek kalmaz. Bu yöntem, sınırlı GPU belleğini telafi etmek için çeşitli offload tekniklerini de destekler. ZeRO hakkında daha fazla bilgi için [buraya](./perf_train_gpu_many#zero-data-parallelism) bakın.

