Hugging Face Transformers 2026: NLP, Fine-Tuning ve Mulakat Sorulari
Hugging Face Transformers v5 rehberi — API mimarisi, LoRA ile fine-tuning, NLP pipeline'lari ve 2026'da data science mulakatlarinda en sik sorulan sorular.

Hugging Face Transformers, NLP, bilgisayarla gorme ve ses isleme alanlarinda transformer tabanli modellerle calismanin standart kutuphanesi haline geldi. Transformers v5 surumuyle birlikte ve Hub'da bir milyonun uzerinde model checkpoint'i mevcut oldugundan, bu ekosistemi bilmek 2026'da data science mulakatlarinda temel bir beklenti olarak karsimiza cikiyor.
Transformers v5, TensorFlow ve Flax destegini kaldirarak PyTorch-first yaklasimina gecis yapti. Kutuphane artik surekli batching, cikarim icin paged attention ve multimodal modeller icin birlesmis bir processor nesnesi sunuyor. Fine-tuning is akislari Unsloth, TRL ve Axolotl gibi araclarla uyumlu kalmaya devam ediyor.
Transformers v5 Mimarisi ve Temel API Degisiklikleri
V4'ten v5'e gecis, kutuphanenin olusturulmasindan bu yana en buyuk yapisal degisikligi temsil ediyor. Gunluk kurulum sayisi v4'un bes yillik omru boyunca 20.000'den 3 milyonun uzerine cikti ve kod tabaninin onemli bir kismi v5'in dogrudan ele aldigi teknik borc biriktirdi.
Uygulamaci acisindan en onemli uc degisiklik sunlardir:
- Yalnizca PyTorch backend'i — TensorFlow ve Flax model uygulamalari kaldirildi. JAX uyumlulugu ortak kutuphaneler araciligiyla surdurulse de Transformers'taki tum model tanimlari artik yalnizca PyTorch'u hedefliyor.
- Birlesmis processor — Multimodal modeller (goruntu-dil, ses-dil) daha once tokenizer'lar ve ozellik cikaricilarin geici kombinasyonlarini gerektiriyordu. Tek bir
processornesnesi artik tum on islemeyi ustleniyor. - Yerlesik cikarim sunucusu —
transformers servekomutu, surekli batching ve paged attention ile OpenAI uyumlu bir API sunarak bircok durumda ayri sunucu altyapisi ihtiyacini ortadan kaldiriyor.
# serve_model.py
# Start an OpenAI-compatible inference server from the command line
# transformers serve --model meta-llama/Llama-4-Scout-17B-16E-Instruct --compile
# Or use the Python API directly
from transformers import pipeline
# The pipeline API remains the fastest way to get predictions
classifier = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english")
results = classifier(["Transformers v5 simplifies everything.", "Legacy code migration is painful."])
print(results)
# [{'label': 'POSITIVE', 'score': 0.9998}, {'label': 'NEGATIVE', 'score': 0.9994}]Pipeline API'si tokenizasyon, model yukleme ve son islemeyi tek bir fonksiyon cagrisi arkasinda gizliyor. Uretim is yukleri icin transformers serve, dogru batching ve esanli islem yetenekleriyle ayni kolayligi sagliyor.
Hub'dan Onceden Egitilmis Modelleri Yukleme ve Kullanma
Hugging Face Hub bir milyonun uzerinde model checkpoint'i barindiriyor. Bunlardan herhangi birini yuklemek iki satir kod gerektirse de hangi modelin secilecegini ve nasil yapilandirilacagini bilmek, yeni baslayanlarla deneyimli uzmanlari birbirinden ayiriyor.
AutoModel siniflari, model karti meta verilerinden dogru mimariyi otomatik olarak tespit eder. Bu, ayni yukleme kodunun BERT, GPT, T5, Llama veya herhangi bir baska mimari icin calisacagi anlamina gelir:
# load_model.py
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load tokenizer and model — architecture detected automatically
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=3)
# Tokenize input text with padding and truncation
inputs = tokenizer(
"Hugging Face makes NLP accessible.",
return_tensors="pt", # Return PyTorch tensors
padding=True,
truncation=True,
max_length=128
)
# Run inference with no gradient computation
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.softmax(outputs.logits, dim=-1)
print(f"Class probabilities: {predictions}")from_pretrained metodu ilk cagriida model agirliklarini, yapilandirmayi ve tokenizer sozlugunu indirir, ardindan yerel olarak onbellege alir. Sonraki cagrilar ag istegi olmadan onbellekten yukleme yapar.
LoRA ve Trainer API ile Fine-Tuning
Buyuk modellerin tam fine-tuning'i ciddi miktarda GPU bellegi gerektiriyor — 7 milyar parametreli bir model FP32'de yalnizca agirliklar icin yaklasik 28 GB'a ihtiyac duyuyor. LoRA (Low-Rank Adaptation), onceden egitilmis agirliklari dondurarak ve her katmana kucuk, egitilebilir matrisler enjekte ederek bellek gereksinimlerini %60-80 oraninda azaltiyor.
PEFT kutuphanesi, LoRA fine-tuning'ini basit bir surec haline getirmek icin dogrudan Transformers ile entegre calisiyor:
# finetune_lora.py
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model, TaskType
from datasets import load_dataset
# Load base model and tokenizer
model_name = "Qwen/Qwen3-0.6B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto")
# Configure LoRA — only 0.5-2% of parameters become trainable
lora_config = LoraConfig(
task_type=TaskType.CAUSAL_LM,
r=16, # Rank of the low-rank matrices
lora_alpha=32, # Scaling factor
lora_dropout=0.05, # Dropout for regularization
target_modules=["q_proj", "v_proj"], # Which attention layers to adapt
)
# Wrap the model with LoRA adapters
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# trainable params: 1,572,864 || all params: 631,000,000 || trainable%: 0.25
# Load and tokenize dataset
dataset = load_dataset("tatsu-lab/alpaca", split="train[:5000]")
def tokenize(example):
return tokenizer(example["text"], truncation=True, max_length=512, padding="max_length")
tokenized = dataset.map(tokenize, batched=True, remove_columns=dataset.column_names)
# Configure training
training_args = TrainingArguments(
output_dir="./lora-qwen",
num_train_epochs=3,
per_device_train_batch_size=4,
gradient_accumulation_steps=4, # Effective batch size = 16
learning_rate=2e-4,
bf16=True, # Use bfloat16 mixed precision
logging_steps=50,
save_strategy="epoch",
)
# Train
trainer = Trainer(model=model, args=training_args, train_dataset=tokenized)
trainer.train()LoRA adapterleri temel modelden ayri olarak kaydedilir (tipik olarak birkac GB'a karsilik 10-50 MB). Birden fazla adapter, temel agirliklari yeniden yuklemeden cikarim sirasinda degistirilebilir; bu da LoRA'yi tek bir dagitiimdan birden fazla uzmanlasmis modeli sunmak icin ozellikle faydali kiliyor.
Data Science & ML mülakatlarında başarılı olmaya hazır mısın?
İnteraktif simülatörler, flashcards ve teknik testlerle pratik yap.
NLP Pipeline Olusturma: Tokenizasyondan Cikarima
Transformers'taki her NLP gorevi ayni uc adimli deseni izler: girdiyi tokenize et, modelden gecir ve ciktiyi coz. Bu akisi anlamak, hem uretim sistemlerinin hata ayiklamasi hem de transformer mimarisiyle ilgili mulakat sorularini yanitlamak icin esastir.
Tokenizasyon, ham metni modelin anlayabilecegi sayisal kimliklere donusturur. Farkli model aileleri farkli tokenizasyon stratejileri kullanir — BERT WordPiece, GPT modelleri BPE ve T5 SentencePiece kullanir:
# tokenization_demo.py
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
text = "Transformers handle tokenization automatically."
# Step-by-step tokenization
tokens = tokenizer.tokenize(text) # Split into subwords
print(f"Tokens: {tokens}")
# ['transformers', 'handle', 'token', '##ization', 'automatically', '.']
ids = tokenizer.convert_tokens_to_ids(tokens) # Convert to numeric IDs
print(f"IDs: {ids}")
# [19081, 5765, 19204, 6032, 8073, 1012]
# The encode method does both steps plus adds special tokens
encoded = tokenizer.encode(text, add_special_tokens=True)
print(f"Encoded with special tokens: {encoded}")
# [101, 19081, 5765, 19204, 6032, 8073, 1012, 102]
# 101 = [CLS], 102 = [SEP]##ization token'i alt-kelime tokenizasyonunu gostermektedir — nadir kelimeler bilinen alt-kelimelere bolunur, boylece model, on egitim sirasinda gormedigi kelime hazinesini karakter duzeyinde geri donuslere basvurmadan ele alabilir.
Verimli Dagitim icin Kuantizasyon
Kuantizasyon, agirliklari 32-bit kayan noktadan daha dusuk hassasiyet formatlarina donusturerek model boyutunu ve cikarim gecikmesini azaltir. 2026'da en pratik yaklasim, 7 milyar parametreli bir modeli yaklasik 4 GB GPU bellegine sigdiran 4-bit kuantizasyon icin bitsandbytes kullanir:
# quantize_model.py
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
# Configure 4-bit quantization
quant_config = BitsAndBytesConfig(
load_in_4bit=True, # Use 4-bit precision
bnb_4bit_compute_dtype=torch.bfloat16, # Compute in bfloat16
bnb_4bit_quant_type="nf4", # NormalFloat4 quantization
bnb_4bit_use_double_quant=True, # Quantize the quantization constants
)
# Load quantized model — fits in ~4GB VRAM instead of ~14GB
model = AutoModelForCausalLM.from_pretrained(
"mistralai/Mistral-7B-Instruct-v0.3",
quantization_config=quant_config,
device_map="auto", # Automatically distribute across available GPUs
)
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3")
# Inference works identically to the non-quantized model
inputs = tokenizer("Explain quantization in one sentence:", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))4-bit kuantizasyon tipik olarak standart benchmark'larda %1'den az kalite dususu yaratirken bellek kullanimini %75 azaltir. LoRA ile birlestirildiginde, normalde coklu GPU kurulumu gerektirecek modellerin tek bir tuketici GPU'sunda fine-tuning yapilmasini mumkun kilar — bu teknik QLoRA olarak bilinir.
Yaygin Hugging Face Mulakat Sorulari ve Cevaplari
2026'da data science mulakatlari, teorik anlayisin yaninda pratik Transformers bilgisini de giderek daha fazla sorguluyor. Asagidaki sorular ML muhendisi ve veri bilimci pozisyonlari icin teknik degerlendirmelerde siklikla karsimiza cikiyor.
Mulakatcilar genellikle uc alani inceler: (1) mimari bilgisi — self-attention, konumsal kodlama, encoder - decoder; (2) pratik beceriler — fine-tuning, kuantizasyon, model secimi; (3) sistem tasarimi — sunuculuk, batching, bellek optimizasyonu.
Self-attention nedir ve multi-head attention onu nasil genisletir?
Self-attention, her token icin dizideki diger tum token'larla iliskisine dayali agirlikli bir temsil hesaplar. Her token icin model uc vektor uretir: query (Q), key (K) ve value (V). Iki token arasindaki dikkat skoru, birinin query'si ile digerinin key'inin nokta carpimina esittir; bu deger anahtar boyutunun karekokuyle olceklenir ve softmax'ten gecirilir. Cikti, value vektorlerinin agirlikli toplamidir.
Multi-head attention bu islemi farkli ogrenilmis projeksiyonlarla paralel olarak birden fazla kez yurutur. Her "bas" farkli iliskitiplerine dikkat etmeyi ogrenebilir — bir basta sozdizimsel yapi, digerinde esreferans, bir digerinde konumsal yakinlik. Ciktilar birlestirilir ve model boyutuna geri projekte edilir.
Transformer'lar neden konumsal kodlamaya ihtiyac duyar?
RNN'ler ve LSTM'lerden farkli olarak, transformer'lar tum token'lari sirali degil, es zamanli olarak isler. Konum bilgisi olmadan model, girdiyi siralama kavrami olmayan bir token torbasi olarak ele alir. Konumsal kodlamalar (sabit sinuzoidal fonksiyonlar veya ogrenilmis gomulumler) ilk dikkat katmanindan once token gomulumlerine eklenir. LLaMA ve Qwen gibi modern modeller, mutlak yerine goreli konumlari kodlayan ve egitim sirasinda gorulenlerden daha uzun dizilere daha iyi genelleme yapan Rotary Position Embeddings (RoPE) kullanir.
LoRA ne zaman tam fine-tuning'e tercih edilmelidir?
LoRA, GPU bellegi sinirli oldugunda, temel model buyuk oldugunda (7 milyar+ parametre) veya tek bir temel modelden birden fazla goreve ozgu adapterin sunulmasi gerektiginde daha iyi bir secimdir. Tam fine-tuning benchmark'larda marjinal olarak daha iyi sonuclar verir (tipik olarak %0,5-2 daha yuksek dogruluk) ancak 4-8 kat daha fazla bellek gerektirir ve her gorev icin tam bir model kopyasi olusturur. Pratikte LoRA, cogu alt gorev icin karsilastirabilir kalite elde ederken egitim suresi ve altyapi maliyetlerini onemli olcude azaltir.
Encoder-only, decoder-only ve encoder-decoder modeller arasindaki fark nedir?
| Mimari | Ornekler | En Iyi Kullanim | Dikkat Deseni | |---|---|---|---| | Encoder-only | BERT, RoBERTa, DeBERTa | Siniflandirma, NER, gomulumler | Cift yonlu (tum baglami gorur) | | Decoder-only | GPT, LLaMA, Mistral, Qwen | Metin uretimi, sohbet, kod | Nedensel (yalnizca soldan saga) | | Encoder-decoder | T5, BART, mBART | Ceviri, ozetleme | Encoder ve decoder arasi capraz dikkat |
Encoder-only modeller, cift yonlu dikkat her token'in diger tum token'lari gozlemlemesine izin verdigi icin anlama gorevlerinde one cikar. Decoder-only modeller, nedensel maskeleme dogal olarak birer birer token urettigi icin uretim gorevlerinde baskindir. Encoder-decoder modeller her iki yetenegi birlestirse de buyuk olcude daha basit mimarilerle karsilastirabilir sonuclar elde eden decoder-only modeller tarafindan yerinden edilmistir.
Adaylar genellikle model boyutunu yetenekle karistirir. Iyi fine-tuning yapilmis 3 milyar parametreli bir model, belirli gorevlerde genel amacli 70 milyar parametreli bir modeli siklikla geride birakir. Mulakatcilar, daha kucuk ve uzmanlasmis modellerin ne zaman daha iyi bir muhendislik karari oldugunu anlayan adaylar arar.
Trainer API dagitik egitimi nasil yonetir?
Trainer sinifi mevcut GPU'lari otomatik olarak algilar ve veri paralelligini yapilandirir. Coklu dugum egitimi icin PyTorch'un DistributedDataParallel sistemiyle entegre olur ve tek bir yapilandirma dosyasi araciligiyla DeepSpeed ZeRO asamalari 1-3'u destekler. TrainingArguments'ta deepspeed="ds_config.json" ayarlamak, optimizer durumlarini, gradyanlari ve model parametrelerini GPU'lar arasinda paylastiran ve isteğe bagli olarak CPU RAM'e aktaran ZeRO-3 offloading'i etkinlestirmek icin yeterlidir.
Bir NLP modelini degerlendirirken hangi metrikler onemlidir?
Secim goreve baglidir. Siniflandirma icin: accuracy, F1-skoru (ozellikle dengesiz siniflar icin macro-F1), precision ve recall. Uretim icin: BLEU, ROUGE ve giderek daha fazla insan yargilamasiyla daha iyi korelasyon gosteren BERTScore. Arama ve gomulumler icin: recall@k, NDCG ve mean reciprocal rank. Uretim sistemleri, kalite metriklerinin yaninda cikarim gecikmesi (p50/p99), verim (token/saniye) ve bellek kullanimini da izlemelidir.
Hugging Face ve NLP Mulakatlarina Hazirlik
NLP odakli data science mulakatlarinda teknik hazirlik, tamamen teorik calismadan ziyade Transformers kutuphanesiyle uygulamali pratigten fayda gorur. En etkili yaklasim uc unsuru birlestirir:
- Uctan uca projeler olusturma — duygu siniflandirici, varlik adi tanima veya ozetleme pipeline'i. Her biri, mulakatcilarin dogrudan sorguladigi on isleme, model secimi ve degerlendirme konularinda kararlar almayi gerektirir.
- Model kartlarini okuma — Hub'daki model kartlari egitim verilerini, amaclanan kullanimi, sinirliliklari ve degerlendirme sonuclarini belgeler. Mulakatcilar, adaylarin en cok indirilen checkpoint'i koru korune secmek yerine model kartlarini elestirel olarak degerlendirmesini bekler.
- Bellek ve gecikme profili cikarma — farkli donanim yapilandirmalarinda FP32, FP16, BF16 ve INT4 cikarim arasindaki dengelemeleri anlamak, kidemli adaylari juniorlardan ayirir.
SharpSkill NLP ve Hugging Face pratik modulu bu konulari ayrintili aciklamalarla hedefli mulakat sorulari araciligiyla kapsiyor. Transformer dikkat mekanizmalari ve derin ogrenme temelleri konularinda daha genis hazirlik icin data science yolu yapilandirilmis pratik planlari sunuyor.
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
Sonuc
- Transformers v5, kutupaneyi PyTorch etrafinda birlestirir, eski backend'leri kaldirir ve uretim cikarimi icin
transformers serveile yerlesik sunuculuk sunar. AutoModelve pipeline API'leri sifirdan calisan tahminlere giden en hizli yol olmaya devam ediyor — iki satir kod Hub'daki 1 milyondan fazla modelden herhangi birini yukler.- PEFT araciligiyla LoRA fine-tuning, cogu gorev icin tam fine-tuning kalitesinin %1-2 sinirlarinda kalirken GPU bellek gereksinimlerini %60-80 oraninda azaltir.
- bitsandbytes ile 4-bit kuantizasyon, 7 milyar parametreli modelleri 4 GB VRAM'e sigdirir ve QLoRA her iki teknigi birlestirerek tuketici GPU'sunda fine-tuning'i mumkun kilar.
- Mulakat sorulari uc alana odaklanir: mimari bilgisi (self-attention, konumsal kodlama, encoder - decoder), pratik beceriler (fine-tuning, kuantizasyon, model secimi) ve sistem tasarimi (dagitik egitim, sunuculuk, bellek optimizasyonu).
- Tokenizasyon ic yapisini (WordPiece, BPE, SentencePiece) anlamak ve tokenizer davranisinin hatasini ayiklayabilmek, mulakatlarda siklıkla hafife alinan bir farklilastirici unsurdur.
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
Etiketler
Paylaş
İlgili makaleler

2026'da En Sık Sorulan 25 Veri Bilimi Mülakat Sorusu
2026 yılında veri bilimi mülakatlarında öne çıkan 25 kritik soru: istatistik, makine öğrenmesi, özellik mühendisliği ve MLOps konularında kapsamlı rehber.

PyTorch ve TensorFlow 2026 Karsilastirmasi: Hangi Derin Ogrenme Framework'u Secilmeli?
PyTorch ve TensorFlow'un 2026 yilindaki kapsamli karsilastirmasi. torch.compile, XLA, Keras 3 coklu backend destegi, dagitim stratejileri, performans farklari ve mulakat sorulari. Kod ornekleri ve pratik rehber.

Makine Öğrenmesi Algoritmaları: Teknik Mülakatlar İçin Kapsamlı Rehber
Makine öğrenmesi algoritmalarını derinlemesiyle öğrenin: denetimli öğrenme, karar ağaçları, kümeleme, model değerlendirme metrikleri ve düzenlileştirme yöntemleri. 2026 veri bilimi mülakatlarına hazırlık için Python kod örnekleriyle.