- Canva, aylık 200 milyon aktif kullanıcıya ulaştı, 30 milyardan fazla tasarıma sahip ve her saniye yaklaşık 300 yeni tasarım üretiliyor
- Kullanıcıların tasarımları araması ve kendileriyle paylaşılan dosyaları bulması giderek daha önemli bir sorun haline geliyor
- Genel aramada (web/ürün araması), kullanıcı sorguları ve sabit bir arama öğeleri kümesi temel alınarak veri kümeleri oluşturulur
- Uzman değerlendiriciler her sorgu ile öğe arasındaki ilişkiyi değerlendirerek etiketleme yapar
- Arama motoru performansı, Recall ve Precision metrikleriyle değerlendirilir
- Kişisel aramada, gizliliği korumak için kişisel tasarımlar görüntülenmeden kullanıcı verileri değerlendirme veri kümesi olarak kullanılamaz
- Çözüm olarak GPT-4o gibi üretken yapay zeka kullanılarak gerçekçi ama tamamen sentetik içerik ve sorgular üretildi
- Bu yaklaşım, kişisel verileri hiç ihlal etmeden arama hattındaki iyileştirmeleri değerlendirme yöntemi sunuyor
Mevcut durum: sınırlı test yöntemleri
- Mevcut test süreci
- Mühendisler sınırlı bir çevrimdışı test yaklaşımı kullanıyordu
- Bilinen sorunlu sorgular Canva hesabında çalıştırılarak kod değişikliğinden önceki ve sonraki performans karşılaştırılıyordu
- Örnek: yazım düzeltme iyileştirmesinde
desgin gibi hatalı sorgular test edildi
- Değişiklik öncesi: sonuç yok
- Değişiklik sonrası:
design ile ilgili belgeler döndürüldü
- Çevrimdışı testi geçen değişiklikler çevrimiçi test aşamasına ilerliyordu
- Canva'nın deney çerçevesi kullanılarak A/B testleri yürütülüyordu
- Değişiklik uygulanan kullanıcılarla standart aramayı kullanan kullanıcılar arasında arama başarı oranı karşılaştırılıyordu
- Sınırlamalar
- Çevrimdışı testlerin istatistiksel geçerliliğinin zayıf olması
- Sınırlı sayıdaki sorgu, farklı arama davranışlarını temsil etmekte yetersiz kalıyordu
- Kullanıcılar üzerinde potansiyel olumsuz etki
- Çevrimdışı testte tespit edilmeyen performans düşüşlerinin çevrimiçi deneye yansıma ihtimali vardı
- Çevrimiçi deneylerin zaman alması
- İstatistiksel anlamlılık için en az birkaç gün ila birkaç hafta gerekiyordu
- Aynı anda yürütülebilecek deney sayısını ve fikir test etme hızını sınırlıyordu
İdeal durum: yeni bir veri kümesi ve değerlendirme hattı kurmak
- Hedef: mühendislerin çevrimiçi teste geçmeden önce değişiklikleri nesnel biçimde değerlendirebileceği özel bir veri kümesi ve değerlendirme hattına ihtiyaç vardı
- Başlıca gereksinimler:
- Yeniden üretilebilirlik: her zaman aynı sonuçları verebilmesi
- Hızlı yineleme: mühendislerin kod değişikliğinden sonra sonucu hızla test edebilmesi; üretime dağıtımı beklemeden anında değerlendirme yapabilmesi
- Üretim ortamına benzerlik: gerçek üretim davranışıyla uyumlu sonuçlar sunması
- Engellemeyen çalışma: ekip üyelerinin birbirini beklemeden bağımsız şekilde kod değişikliklerini deneyebilmesi
Gerçekçi veri kümesi oluşturma: üretken yapay zekadan yararlanmak
- Gizliliğe uygun değerlendirme veri kümesi
- GPT-4o kullanılarak gerçek kullanıcı verilerinin yerini alabilecek sentetik veriler üretildi
- Kullanıcı tasarımlarını kopyalamadan, metin uzunluğu gibi istatistiksel dağılımları yansıtan gerçekçi veriler oluşturuldu
- Recall değerlendirmesi için test senaryosu üretimi
- Konu ve tasarım türüne göre (belge, sunum vb.) GPT-4o ile sorgular ve karşılık gelen içerikler üretildi
- Sorgu zorluğu ayarları:
- yazım hataları ekleme
- eş anlamlılarla değiştirme
- sorguyu yeniden ifade etme
- Precision değerlendirmesi için test senaryosu üretimi
- İlgili ve ilgisiz tasarımları içeren veri kümeleri üretildi
- İlgisiz tasarımları üretme yöntemleri:
- yalnızca bazı anahtar kelimeleri içermek
- tasarım şablonu veya taslak biçimine dönüştürmek
- eski bir tasarım olarak ayarlamak
Üretken yapay zeka kullanırken ortaya çıkan sorunlar
- LLM'lerin avantajları ve sınırlamaları
- Avantajlar: büyük ölçekli metin verisini verimli biçimde üretebilmesi
- Üretilen statik değerlendirme veri kümesi tekrar tekrar kullanılabiliyor ve hızlı, tutarlı, deterministik değerlendirme sonuçları sağlıyordu
- Sınırlamaların ortadan kaldırılması: veri kümesi oluşturulduktan sonra LLM gecikmesi ve rastgelelik sorunları süreçten çıkarıldı
- Sorunlar
- Uzun başlık üretmeyi reddetme
- 12-15 kelimelik başlıklar üretmesi istenmesine rağmen daha kısa başlıklar döndürdü
- Örnek:
Exploring the Latest Advancements in Screen Technology and Applications (9 kelime)
Best Practices for Teachers: Presentation Tips for Meet the Teacher (10 kelime)
- Bu durum, gerçek belgelerde uzun başlıkların nadir olmasını yansıtıyor olabilir
- Sonuç olarak başlık uzunluğu kriteri yeniden gözden geçirildi
- Tekrar ve halüsinasyon hataları
- Bir kelimenin farklı yazım hatalarını üretmesi istendiğinde yinelenen veya gerçekçi olmayan sonuçlar döndürdü
- Örnek:
Calendar için farklı yazım hataları istendiğinde tekrar eden sonuçlar üretildi
- İlgisiz başlık üretme sorunu
- İlgisiz (
nonrelevant) tasarım başlıkları üretirken yönergelere tam olarak uymadığı durumlar görüldü
- Dönen başlıkların bazıları belirtilen anahtar kelimeleri içermiyor ya da yalnızca
title string içeriyordu; yani hatalı sonuçlar üretiyordu
Değerlendirmeyi çalıştırmak: yerel ortamda test ve analiz
- Değerlendirme veri kümesinin kullanımı
- Üretilen sentetik veri kümesi arama hattına uygulanarak değerlendirme metrikleri hesaplandı
- Farklı çalıştırma yöntemleri incelendikten sonra Testcontainers tabanlı yerel çalıştırma yaklaşımı benimsendi
- Testcontainers tabanlı yerel hat
- Mevcut Testcontainer desteğinden yararlanma
- Canva'nın servis odaklı RPC mimarisinde Testcontainer desteği zaten uygulanmıştı
- Elasticsearch gibi harici bileşenler iç Testcontainer'larla birleştirilerek hat kuruldu
- Üretim yapılandırmasının eksiksiz yeniden üretimi
- Arama hattı ve destekleyici ML modelleri yerelde çalıştırılarak üretimle aynı ortam oluşturuldu
- Mühendisler farklı model varyasyonlarını deneyebildi
- Test senaryolarını işleme süreci
- Her test senaryosu için gerekli durumun (
state) oluşturulması
- Canva tasarımı üretmek yerine, arama indeksinin ihtiyaç duyduğu veriler çıkarılıp eklendi
- Yerel arama hattının çalıştırılması
- Veri kümesi test sorgularıyla çalıştırılarak arama sonuçları üretildi
- Sonuçların değerlendirme modülüne iletilmesi
- Recall ve Precision metrikleri hesaplandı
- Veri akışı diyagramı
- Değerlendirme aracı üzerinden verinin işlendiği uçtan uca akışı görselleştiren bir diyagram sunuldu
Sonuçları görselleştirmek
- Görselleştirme aracı geliştirme
- Değerlendirme sonuçlarını etkili biçimde görselleştirmek ve karşılaştırmak için Streamlit tabanlı özel bir araç geliştirildi
- Mühendisler farklı yapılandırmalar arasındaki Recall ve Precision metriklerini tek bakışta karşılaştırabiliyordu
- Temel özellikler
- Yapılandırmaya göre karşılaştırma
- Sonuçlar toplanarak farklı ayarların performansı yan yana karşılaştırılabiliyordu
- Sorgu türü ve zorluk seviyesine göre performans kırılımı
- Belirli sorgu türleri veya zorluk seviyelerine göre performans ayrı ayrı analiz edilebiliyordu
- Tekil sorgu hata ayıklama
- Her sorgunun çıktısı incelenerek belirli kullanım senaryoları detaylı şekilde hata ayıklanabiliyordu
- Hızlı karar alma desteği
- Değerlendirme tamamlandığında araç hemen çalışıyor ve mühendislerin performans sonuçlarına göre hızlı karar vermesine yardımcı oluyordu
- Mühendisler başka ekip üyelerine bağlı kalmadan bağımsız biçimde yineleme ve iyileştirme yapabiliyordu
Etki ve gelecek planları
- İdeal duruma ne kadar yaklaşıldı?
- Değerlendirme veri kümesi ve araçlar tam yeniden üretilebilirlik sağlıyor ve birkaç dakika içinde sonuç üretiyor
- Mühendisler, üretim davranışıyla uyumlu sonuçları yerelde bağımsız ve nesnel biçimde değerlendirebiliyor
- Müşterilerin tasarımları ya da sorguları hiç görüntülenmeden gizlilik tamamen korunuyor
- Başarı özeti
- Hızlı yineleme
- 1000'den fazla test senaryosu 10 dakikanın altında işlenebiliyor
- 2-3 gün süren çevrimiçi deney döneminde 300'den fazla çevrimdışı değerlendirme yapılabiliyor
- Çevrimdışı-çevrimiçi sonuç korelasyonu
- Çevrimdışı değerlendirme sonuçları, uygun olmayan fikirleri elemek ve yalnızca başarı ihtimali yüksek değişiklikleri çevrimiçi deneye taşımak için tasarlandı
- Geliştirme sırasında çevrimdışı ve çevrimiçi sonuçların senkronunu doğrulayan çok sayıda deney yapıldı
- Hem olumlu hem olumsuz performans değişikliklerinde güçlü bir tutarlılık görüldü
- Yerel hata ayıklama yeteneği
- Test senaryosunun arama hattındaki her bileşenden geçişini gözlemlemeyi sağlayan hata ayıklama desteği sunuldu
- Bu yaklaşım, mevcut üretim loglarına dayanan hata ayıklamadan çok daha verimliydi
- Gelecek planları
- Veri kümesini genişletmek
- İş birliği grafiği gibi daha gerçekçi özellikler eklemek
- Araçları iyileştirmek
- Mühendislerin ihtiyaçlarına göre özelleştirilmiş sentetik veri üretebilmesi için araçları geliştirmek
- Üretken yapay zekadan en üst düzeyde yararlanmak
- Sentetik verinin sunduğu olanakları kullanarak Canva'nın arama araçlarını topluluk için en iyi deneyime dönüştürme hedefini sürdürmek
Henüz yorum yok.