Karma duyarlıklı eğitim

PyTorch ile Verimli AI Model Eğitimi

Dennis Lee

Data Engineer, Amazon

Karma duyarlık hesaplamayı hızlandırır

 

 

Bellek, iletişim ve hesaplama verimliliğini gösteren simgeler.

PyTorch ile Verimli AI Model Eğitimi

Daha az duyarlıkla daha hızlı hesaplama

FP32 ve FP16’da kayan nokta sayıların temsili diyagramı.

PyTorch ile Verimli AI Model Eğitimi

Daha az duyarlıkla daha hızlı hesaplama

FP32 ve FP16’da kayan nokta sayıların temsili diyagramı.

PyTorch ile Verimli AI Model Eğitimi

Daha az duyarlıkla daha hızlı hesaplama

FP32 ve FP16’da kayan nokta sayıların temsili diyagramı.

PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
  • Alt taşma: sayı duyarlığın altına düştüğü için 0’a iner
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
  • Alt taşma: sayı duyarlığın altına düştüğü için 0’a iner
  • Alt taşmayı önlemek için kaybı ölçekleyin
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
  • Alt taşma: sayı duyarlığın altına düştüğü için 0’a iner
  • Alt taşmayı önlemek için kaybı ölçekleyin
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
  • Alt taşma: sayı duyarlığın altına düştüğü için 0’a iner
  • Alt taşmayı önlemek için kaybı ölçekleyin
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
  • Alt taşma: sayı duyarlığın altına düştüğü için 0’a iner
  • Alt taşmayı önlemek için kaybı ölçekleyin
PyTorch ile Verimli AI Model Eğitimi

Karma duyarlıklı eğitim nedir?

Karma duyarlıklı eğitimin adımlarını gösteren diyagram.

  • Karma duyarlıklı eğitim: FP16 ve FP32 hesaplamalarını birleştirerek eğitimi hızlandırır
  • Alt taşma: sayı duyarlığın altına düştüğü için 0’a iner
  • Alt taşmayı önlemek için kaybı ölçekleyin
PyTorch ile Verimli AI Model Eğitimi

PyTorch uygulaması

PyTorch, Accelerator ve Trainer için kullanım kolaylığı ve özelleştirme yeteneği karşılaştırma grafiği.

PyTorch ile Verimli AI Model Eğitimi

PyTorch ile karma duyarlıklı eğitim

scaler = torch.amp.GradScaler()


for batch in train_dataloader: inputs, targets = batch["input_ids"], batch["labels"]
with torch.autocast(device_type="cpu", dtype=torch.float16):
outputs = model(inputs, labels=targets) loss = outputs.loss
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
optimizer.zero_grad()
PyTorch ile Verimli AI Model Eğitimi

PyTorch’tan Accelerator’a geçiş

PyTorch, Accelerator ve Trainer için kullanım kolaylığı ve özelleştirme yeteneği karşılaştırma grafiği.

PyTorch ile Verimli AI Model Eğitimi

PyTorch’tan Accelerator’a geçiş

PyTorch, Accelerator ve Trainer için kullanım kolaylığı ve özelleştirme yeteneği karşılaştırma grafiği.

PyTorch ile Verimli AI Model Eğitimi

Accelerator ile karma duyarlıklı eğitim

accelerator = Accelerator(mixed_precision="fp16")


model, optimizer, train_dataloader, lr_scheduler = \ accelerator.prepare(model, optimizer, train_dataloader, lr_scheduler)
for batch in train_dataloader: inputs, targets = batch["input_ids"], batch["labels"] outputs = model(inputs, labels=targets) loss = outputs.loss accelerator.backward(loss) optimizer.step() optimizer.zero_grad()
PyTorch ile Verimli AI Model Eğitimi

Accelerator’dan Trainer’a geçiş

PyTorch, Accelerator ve Trainer için kullanım kolaylığı ve özelleştirme yeteneği karşılaştırma grafiği.

PyTorch ile Verimli AI Model Eğitimi

Accelerator’dan Trainer’a geçiş

PyTorch, Accelerator ve Trainer için kullanım kolaylığı ve özelleştirme yeteneği karşılaştırma grafiği.

PyTorch ile Verimli AI Model Eğitimi

Trainer ile karma duyarlıklı eğitim

training_args = TrainingArguments(
    output_dir="./results",
    evaluation_strategy="epoch",
    fp16=True
)

trainer = Trainer( model=model, args=training_args, train_dataset=dataset["train"], eval_dataset=dataset["validation"], compute_metrics=compute_metrics, )
trainer.train()
PyTorch ile Verimli AI Model Eğitimi

Haydi pratik yapalım!

PyTorch ile Verimli AI Model Eğitimi

Preparing Video For Download...