Yönetilen yapay zeka işlevleri ve SQL ile BigQuery'de Semantik Analiz

1. Hoş geldiniz

Bu codelab'de, SQL kullanarak doğrudan BigQuery Studio'da gelişmiş anlamsal analiz, kategorik sınıflandırma, çok formatlı filtreleme, anlamsal birleştirme ve çok satırlı özetleme gerçekleştirmek için BigQuery'nin yönetilen yapay zeka işlevleri paketini nasıl kullanacağınızı öğreneceksiniz.

Herkese açık veri kümesi bigquery-public-data.cymbal_pets'ni kullanarak evcil hayvan malzemeleri ve aksesuarları satan bir e-ticaret perakendecisi olan Cymbal Pets'te veri analisti rolünü üstleneceksiniz.

Doğrudan SQL sorgularında semantik analiz

Geleneksel olarak, makine öğrenimi veya büyük dil modellerini (LLM'ler) kurumsal veri kümelerine uygulamak için verilerin veri ambarından harici Python not defteri ortamlarına taşınması gerekiyordu. Bu, özel veri mühendisliği ardışık düzenleri ve makine öğrenimi uzmanlığı gerektiriyordu.

BigQuery'nin AI.SCORE, AI.CLASSIFY, AI.IF ve AI.AGG gibi yönetilen yapay zeka işlevleri, temel model zekasını doğrudan verilerinize getirir. BigQuery, model seçimini otomatik olarak optimize eder ve basit doğal dil istemlerinden yüksek doğrulukta sonuçlar sunmak için dahili istem yeniden yazma stratejilerini uygular.

BigQuery, yüksek hacimli veri kümeleri için optimize edilmiş mod sunar. Bu modda, 100 kata kadar daha hızlı ve daha ucuz sorgular sunmak için anında model damıtma ve hafif proxy modelleri kullanılır.

Yapacaklarınız

  • SQL kullanarak BigQuery Studio'da çok formatlı perakende verilerini keşfedin.
  • "Hediye edilebilir olma" gibi öznel ürün özelliklerini değerlendirmek için AI.SCORE kullanarak anlamsal sıralama gerçekleştirin.
  • Ürünleri hedef hayvan türleriyle eşlemek için AI.CLASSIFY kullanarak yapılandırılmamış verileri kategorilere ayırın.
  • WHERE ifadelerinde AI.IF kullanarak çok formatlı resim öğelerini filtreleyin.
  • Metin ürün kayıtlarını bilinmeyen kaynaktan gelen resim dosyalarıyla eşleştirmek için JOIN ... ON ifadelerinde AI.IF kullanarak tablolar arasında anlamsal birleştirmeler gerçekleştirin.
  • AI.AGG toplama işlevini kullanarak çok satırlı analizleri sentezleyin.
  • AI.IF ile optimize edilmiş mod (optimization_mode => 'MINIMIZE_COST') ve proxy modeli damıtma kullanarak büyük veri kümelerinde sorgu gecikmesini ve maliyetini optimize edin.

Gerekenler

  • Faturalandırmanın etkin olduğu bir Google Cloud projesi.
  • Chrome gibi bir web tarayıcısı

2. Kurulum ve şartlar

Yönetilen yapay zeka işlevleriyle verileri sorgulamadan önce Google Cloud projenizi yapılandırmanız ve gerekli API'leri etkinleştirmeniz gerekir.

Google Cloud projesi oluşturma ve API'leri etkinleştirme

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.
  3. BigQuery, BigQuery Connection ve Agent Platform API'lerini etkinleştirin.

BigQuery Studio'yu açma

  1. Google Cloud Console gezinme menüsünde BigQuery'yi tıklayarak BigQuery Studio'yu açın.
  2. BigQuery Studio düzenleyici araç çubuğunda + SQL sorgusu'nu tıklayarak yeni bir SQL sorgusu sekmesi açın. Bu codelab boyunca tüm SQL sorgularını bu SQL sekmelerinde yazıp çalıştıracaksınız.

SQL'de Cloud Resource Connection oluşturma

BigQuery, güvenli bir veri sınırında çalışır. BigQuery, harici çok formatlı dosyaları (ör. Google Cloud Storage'da depolanan resimler) incelerken kimlik bilgilerini açığa çıkarmadan nesne referanslarına güvenli bir şekilde erişmek için Cloud Kaynak Bağlantısı kullanır.

us.conn adlı bir bağlantı oluşturmak için SQL sekmenizde aşağıdaki ifadeyi yürütün:

CREATE CONNECTION IF NOT EXISTS `us.conn`
OPTIONS (
  connection_type = "CLOUD_RESOURCE"
);

3. Cymbal Pets veri kümesini keşfedin

Cymbal Pets, bigquery-public-data.cymbal_pets.products adlı tablonun içindeki herkese açık veri kümesinde zengin bir ürün kataloğu bulundurur. Her ürün kaydı, ürün kimliği, başlık, perakende kategorisi, fiyat ve açıklayıcı metin gibi yapılandırılmış özellikler içerir.

Ürün kataloğuna sorgu gönderme

BigQuery Studio'da bir SQL sekmesi açın ve ürünler tablosunu incelemek için aşağıdaki sorguyu çalıştırın:

SELECT
  product_id,
  product_name,
  category,
  price,
  description
FROM
  `bigquery-public-data.cymbal_pets.products`;

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio sorgu sonuçlarında ürün kataloğu kayıtları gösteriliyor

Ürün resimlerini inceleme

Cymbal Pets, ürün resmi referanslarını da bigquery-public-data.cymbal_pets.product_images içinde saklar. Resim kayıtlarını görüntülemek için aşağıdaki sorguyu çalıştırın:

SELECT
  uri,
  OBJ.GET_READ_URL(OBJ.MAKE_REF(uri, 'us.conn')).url AS product_image_url,
  metadata
FROM
  `bigquery-public-data.cymbal_pets.product_images`;

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio sorgu sonuçlarında ürün resmi önizlemeleri ve meta veriler gösteriliyor

Ardından, Cymbal Pets veri deposundaki hem metin hem de resim verilerini analiz etmek için BigQuery yönetilen işlevlerini kullanacaksınız.

4. AI.SCORE ile ürünleri anlamsal ölçütlere göre sıralama

AI.SCORE işlevi, metin girişlerini kabul eder ve bunları doğal dilde puanlama ölçütlerine göre puanlamak için bir Gemini modeli kullanarak sayısal bir FLOAT64 puan döndürür.

Açık bir puan anahtarı sağlamazsanız BigQuery, model için optimum puan anahtarı oluşturmak üzere istem yeniden yazma stratejilerini otomatik olarak uygular.

Ürünlere "hediye edilebilirliğe" göre puan verme

Cymbal Pets pazarlama ekibinin bir yılbaşı hediye rehberi oluşturmak istediğini varsayalım. Katalogdaki her öğeyi, evcil hayvan sahibi için hediye olarak uygunluğuna göre 1 ile 10 arasında bir ölçekte sıralamak istiyor.

SQL sekmenizde aşağıdaki sorguyu çalıştırın:

SELECT
  product_name,
  description,
  AI.SCORE(
    ('How "giftable" is this product for a pet owner? ', description,
    'Use a scale from 1-10.')
  ) AS giftability_score
FROM
  `bigquery-public-data.cymbal_pets.products`
ORDER BY
  giftability_score DESC;

Sonuçları anlama

Sonuçlarınız aşağıdakine benzer şekilde görünür:

core_giftability_results.png

Sorgu sonuçlarındaki giftability_score sütununu inceleyin:

  • Çok ilgi gören etkileşimli oyuncaklar: Cozy Naps Cat Teaser Wand, Playful Pup Puzzle Toy ve Playful Pup Treat Dispenser gibi ilgi çekici öğeler en yüksek puanları (9.0) alır.
  • Özel konfor ve tırmalama ürünleri: Purrfect Perch Cat Scratcher gibi popüler temel ürünler 8.0 puanı alıyor.
  • Uygulanabilir aşağı akış sıralaması: AI.SCORE, normalleştirilmiş FLOAT64 puanlar ürettiği için sonuçları hemen ORDER BY giftability_score DESC ile sıralayabilir veya adayları WHERE AI.SCORE(...) >= 8.0 ile filtreleyerek otomatik hediye rehberleri oluşturabilirsiniz.

5. Katalog öğelerini AI.CLASSIFY ile kategorilere ayırma

AI.CLASSIFY işlevi, giriş kayıtlarını SQL dizisi olarak sağlanan ayrı bir hedef kategori listesine sınıflandırmak için Gemini'ı kullanır.

AI.CLASSIFY Çok formatlı girişleri (metin, resim, ses, video) destekler ve sınıflandırma modellerini taksonomi yönetimi için özel olarak oluşturma, eğitme veya dağıtma ihtiyacını ortadan kaldırır.

Oyuncakları hedef hayvan türüne göre sınıflandırma (tek etiketli)

Cymbal Pets kataloğundaki bazı ürünlerin, hedef hayvan belirtilmeden genel olarak "Oyuncak" şeklinde etiketlendiğini varsayalım. Her oyuncağı adına ve açıklamasına göre sınıflandırmak için AI.CLASSIFY simgesini kullanabilirsiniz.

BigQuery Studio'da aşağıdaki sorguyu çalıştırın:

SELECT
  product_name,
  description,
  AI.CLASSIFY(
    ('What animal is this product for?', product_name, ' ', description),
    categories => ["Dog", "Cat", "Bird", "Fish", "Small Animal", "All Pets"]
  ) AS animal_type
FROM
  `bigquery-public-data.cymbal_pets.products`
WHERE
  category = "Toys"
LIMIT 20;

Sonuçları görüntüleme

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio sorgu sonuçlarında tek etiketli AI.CLASSIFY hayvan sınıflandırmaları gösteriliyor

Varsayılan olarak AI.CLASSIFY, tek etiketli sınıflandırma gerçekleştirir ve aday dizinizdeki en alakalı tek kategoriyi içeren bir STRING döndürür. Gemini'ın kedi nanesi toplarını ve tüylü oyuncakları Cat ile, çiğneme oyuncaklarını ve getirme çubuklarını ise Dog ile nasıl eşlediğine dikkat edin.

Çok etiketli sınıflandırma ile birden fazla etiket atama

Perakende kataloğundaki birçok ürün aynı anda birden fazla evcil hayvan türü için geçerlidir (ör. hem kediler hem de küçük hayvanlar için uygun olan peluş yatak veya tünel).

Tek bir kayda birden fazla kategori atamak için isteğe bağlı output_mode => 'multi' parametresini ayarlayın. Çok etiketli modda AI.CLASSIFY, eşleşen tüm kategorileri içeren bir ARRAY döndürür.

SQL sekmenizde aşağıdaki sorguyu çalıştırın:

SELECT
  product_name,
  description,
  AI.CLASSIFY(
    ('Identify all pet types that this product is suitable for: ', product_name, ' ', description),
    categories => ["Dog", "Cat", "Bird", "Fish", "Small Animal", "Reptile"],
    output_mode => 'multi'
  ) AS pet_types
FROM
  `bigquery-public-data.cymbal_pets.products`
WHERE
  category = "Toys";

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio sorgu sonuçlarında, çok etiketli AI.CLASSIFY'ın hayvan türü dizileri döndürdüğü gösteriliyor

Sınıflandırma mekanizmalarını inceleme

  • Tek etiketli ve çok etiketli: output_mode olmadan AI.CLASSIFY, skaler STRING değerini döndürür. output_mode => 'multi' ayarı, sıfır, bir veya birden çok eşleşen etiket içeren bir ARRAY döndürür.
  • Birden fazla kategoriye atama: Chew-tastic! Dental Chew Toy ve Playful Pup Fetch Stick gibi özel öğelerin [Dog] etiketi aldığını, Cozy Naps Dog Toy (peluş dikdörtgen yatak) gibi çok yönlü konfor öğelerinin ise doğru şekilde birden fazla etiket ([Dog, Cat, Small Animal]) aldığını fark edin.
  • Sıfır örnekli eşleştirme: Model, önceden eğitilmiş özel makine öğrenimi modelleri gerektirmeden birleştirilmiş metni ve istemi sağlanan categories dizisine göre değerlendirir.
  • Aşağı akış SQL dizisi işlemleri: Çok etiketli kayıtları filtrelemek, genişletmek ve toplamak için WHERE 'Cat' IN UNNEST(pet_types) veya CROSS JOIN UNNEST(pet_types) gibi standart BigQuery SQL dizisi işlevlerini kullanabilirsiniz.

6. Çok formatlı ürün resimlerini AI.IF ile filtreleme

AI.IF işlevi, doğal dil koşulunu değerlendirmek için Gemini'ı kullanır ve Boole değeri (TRUE veya FALSE) döndürür.

AI.IF, çok formatlı girişleri kabul ettiğinden Cloud Storage'da depolanan yapılandırılmamış resim dosyalarını filtrelemek için doğrudan bir SQL WHERE ifadesinde kullanabilirsiniz.

Belirli nesneler içeren resimleri filtreleme

Örneğin, ürün ekibi katalogdaki, görsel olarak evcil hayvan yemi veya atıştırmalık içeren tüm ürün resimlerini bulmak istiyor.

SQL sekmenizde aşağıdaki sorguyu çalıştırın:

SELECT
  uri,
  OBJ.GET_READ_URL(OBJ.MAKE_REF(uri, 'us.conn')).url AS product_image_url,
  metadata
FROM
  `bigquery-public-data.cymbal_pets.product_images`
WHERE
  AI.IF(
    ('Does this product image contain pet food or snacks? ', OBJ.MAKE_REF(uri, 'us.conn'))
  );

Sonuçlarınız aşağıdakine benzer şekilde görünür:

Evcil hayvan yemi veya atıştırmalık içeren ürünler için çok formatlı resim filtreleme özelliğini gösteren BigQuery Studio sorgu sonuçları

Çok formatlı filtrelemenin işleyiş şekli

  • Anında Nesne Referansları: Burada OBJ.MAKE_REF(uri, 'us.conn') kullanarak anında nesne referansları oluştururken ObjectRef sütunlarını doğrudan BigQuery tablolarınızda da oluşturup saklayabilirsiniz. Böylece, her sorguda OBJ.MAKE_REF işlevine gerek kalmadan analizlerde anında kullanıma hazır hale gelirler.
  • Derin görsel nesne tanıma: Gemini'ın, farklı ambalaj formatlarını (ör. yaş mama çeşit paketi kutusu, kuru hamster yemi torbası ve konserve kedi maması) doğru şekilde tanımlarken oyuncakların içine yerleştirilmiş yenilebilir atıştırmalıkları (ör. mavi ödül maması dağıtıcısı) da nasıl tanıdığına dikkat edin.
  • Satır düzeyinde koşul değerlendirmesi: BigQuery, doğal dil koşulunu her Cloud Storage resim referansına göre doğrudan WHERE ifadesi içinde değerlendirir.
  • Boole filtreleme: Sonuç kümesinde yalnızca Gemini'ın koşulu TRUE olarak değerlendirdiği kayıtlar döndürülür.

7. Yapay Zeka.EĞER işleviyle tablolar arasında anlamsal birleştirme yapma

Geleneksel ilişkisel veritabanı birleştirmeleri, tam anahtar eşitliği (ör. products.product_id = images.product_id) gerektirir. Ancak gerçek dünyadaki kurumsal veri kümeleri genellikle açık yabancı anahtarların olmadığı yapılandırılmamış öğeler içerir.

AI.IF bir Boole değeri döndürdüğünden anlamsal birleştirme gerçekleştirmek için doğrudan bir SQL INNER JOIN ... ON tümcesinin içine yerleştirebilirsiniz.

Ürün açıklamalarını anlamsal olarak resim öğeleriyle birleştirme

products tablosundaki ürün açıklamalarını Fluffy Buns markası tarafından üretilen ürünler için product_images'deki bağlantısız resim dosyalarıyla eşleştirmek istediğinizi varsayalım.

BigQuery Studio SQL sekmenizde aşağıdaki sorguyu çalıştırın (tamamlanması birkaç dakika sürer):

SELECT
  products.product_id,
  products.product_name,
  products.description,
  products.brand,
  images.uri AS image_uri,
  OBJ.GET_READ_URL(OBJ.MAKE_REF(images.uri, 'us.conn')).url AS product_image_url
FROM
  `bigquery-public-data.cymbal_pets.products` AS products
INNER JOIN
  `bigquery-public-data.cymbal_pets.product_images` AS images
ON
  AI.IF(
    ('You will be provided an image of a pet product. ',
    'Determine if the image is of the following pet toy: ',
    products.product_name,
    products.description,
    OBJ.MAKE_REF(images.uri, 'us.conn')
    )
  )
WHERE
  products.category = "Toys" AND
  products.brand = "Fluffy Buns";

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio sorgu sonuçlarında ürünler ve resimler arasında anlamsal birleştirmeler gösteriliyor

SQL'de anlamsal birleştirmeleri anlama

  • Modüller arası koşul değerlendirmesi: Aday kayıt çiftleri için BigQuery, products kaynağından alınan metin meta verilerini ve görüntü referansını (OBJ.MAKE_REF(...)) Gemini'a gönderir.
  • Doğru görsel eşleştirme: Sonuçlarda gösterildiği gibi, Fluffy Buns Hamster Exercise Ball, şeffaf plastik top resmiyle eşleştirilirken Fluffy Buns Chinchilla Play Tunnel ve Guinea Pig Tunnel, mavi peluş tünel fotoğraflarıyla eşleştiriliyor. Standart SQL INNER JOIN semantiği nedeniyle, bir ürün katalogdaki birden fazla resim öğesiyle (ör. birden fazla fotoğraf açısı veya benzer çekimler) eşleşirse çıkışta birden fazla satır oluşturabilir.
  • Satır içi resim oluşturma: BigQuery Studio, yetkili okuma URL'lerini product_image_url sütununda doğrudan sonuç ızgaranızda oluşturarak anında görsel doğrulama sağlar.
  • Yapılandırılmamış öğe çözümleme: Bu özellik, manuel etiketleme veya açık yabancı anahtarlar olmadan eski kataloglar, kazınmış veri kümeleri ve medya arşivleri genelinde güçlü öğe çözümleme iş akışlarının kilidini açar.

8. AI.AGG işleviyle satırlardaki analizleri sentezleme

AI.SCORE, AI.CLASSIFY ve AI.IF gibi işlevler tek tek satırları değerlendirirken (skaler işlemler), kurumsal verilerin analiz edilmesi genellikle birden fazla kayıttaki kalıpların sentezlenmesini gerektirir.

AI.AGG işlevi, binlerce veya milyonlarca yapılandırılmamış satırdaki analizleri özetlemek, gruplandırmak ya da sentezlemek için doğal dil talimatlarını kullanan bir toplama işlevidir.

Geleneksel SQL metriklerinin yanı sıra kategori özetlerini sentezleme

AI.AGG, geleneksel SQL GROUP BY ve toplama işlevleriyle sorunsuz bir şekilde entegre olur. Örneğin, her kategorideki ürünlerin ortak özelliklerini açıklayan bir üretken yapay zeka özetinin yanında geleneksel metrikleri (ör. öğe sayıları) hesaplayabilirsiniz.

BigQuery Studio'da aşağıdaki sorguyu çalıştırın:

SELECT 
  category,
  COUNT(*) AS item_count,
  AI.AGG(
    ('Product: ', product_name, ' - Description: ', description),
    'Write a concise, one-sentence summary describing the common characteristics or purpose of the products in this category.'
  ) AS category_summary
FROM 
  `bigquery-public-data.cymbal_pets.products`
GROUP BY 
  category
ORDER BY 
  item_count DESC;

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio sorgu sonuçlarında, öğe sayılarıyla birlikte AI.AGG kategori özetleri gösteriliyor.

AI.AGG, yapılandırılmamış verileri nasıl toplar?

  • Hiyerarşik toplama: BigQuery, satır verilerini kategori bölümüne göre gruplandırır, yapılandırılmış bağlam pencereleri oluşturur ve ürün kayıtlarının tamamını sentezlemek için Gemini'ı kullanır.
  • Otomatik katalog sentezi: Her kategorinin nasıl farklı ve doğru bir özet aldığını inceleyin. Örneğin, Accessories yaşam alanlarını ve eğitim ekipmanlarını yakalayan veya Food birden fazla hayvan türünde dengeli beslenmeyi vurgulayan özetler.
  • Karma nicel ve nitel raporlama: COUNT(*) gibi standart toplamaları AI.AGG ile birleştirmek, özel ETL işlem hatları olmadan tek bir sorguda kapsamlı katalog genel bakışları oluşturur.
  • Esnek bölümleme: Saniyeler içinde yönetici düzeyinde analizler oluşturmak için AI.AGG'ı herhangi bir gruplandırma boyutuna (ör. GROUP BY brand, GROUP BY category veya tablonuzun tamamı) uygulayabilirsiniz.

9. Optimize edilmiş mod ve proxy modellerle sorguları hızlandırma

Binlerce veya milyonlarca satır içeren büyük veri kümeleri işlenirken her satır için uzaktan bir LLM çağırmak gecikmeye ve maliyete neden olabilir.

BigQuery, bu sorunu çözmek için AI.IF ve AI.CLASSIFY için optimize edilmiş mod sunar. Optimize edilmiş mod, LLM jetonu maliyetini düşürerek 100 kat daha hızlı yürütme sağlamak için proxy modelleri ve anında model damıtma özelliğini kullanır.

Optimize edilmiş modun işleyiş şekli

Yapay zeka optimizasyonu iş akışı

  1. Temsili örnekleme ve etiketleme: BigQuery, satırların temsili bir örneğini otomatik olarak seçer ve Gemini'dan etiket alır.
  2. Özlü model eğitimi: BigQuery, özellikleri olarak metin yerleştirmelerini kullanarak CPU'da tam zamanında ultra hafif bir proxy modeli (ör. mantıksal regresyon) eğitir.
  3. Kalite doğrulama: BigQuery, damıtılmış modelin doğruluğunu Gemini'a göre değerlendirir. Kalite eşiklerini karşılıyorsa BigQuery, veri kümesinin geri kalanını işlemek için bu işi yükseltir.
  4. Yerel yüksek hızlı çıkarım: Proxy modeli, kalan satırları sıfır uzak LLM jetonu maliyeti ve ultra düşük gecikmeyle yerel olarak değerlendirir.

Optimizasyon olmadan temel sorgu çalıştırma

Örnek bigquery-public-data.cymbal_pets.products katalog, proxy modeli damıtma işlemini tetiklemek için çok az satır içerdiğinden daha büyük olan herkese açık veri kümesi bigquery-public-data.bbc_news.fulltext (2.200'den fazla haber makalesi içerir) kullanılacaktır.

Öncelikle, doğal afetlerle ilgili haber makalelerini belirlemek için standart sorguyu optimizasyon olmadan çalıştırın:

SELECT
  title,
  body
FROM
  `bigquery-public-data.bbc_news.fulltext`
WHERE
  AI.IF(
    ('The following news story is about a natural disaster: ', body)
  );

Temel iş ayrıntılarını ve jeton kullanımını inceleme

Temel sorgu tamamlandıktan sonra yürütme metriklerini inceleyin:

  1. BigQuery Studio'nun alt kısımdaki sonuçlar bölmesinde İş bilgileri sekmesini seçin.
  2. Giriş birim sayısı ve Çıkış birim sayısı bölümlerine gidin.

Sonuçlarınız aşağıdakine benzer şekilde görünür:

Temel sorgu için BigQuery Studio iş bilgileri

  • Tam veri kümesi jetonu tüketimi: BigQuery, 2.225 haber makalesinin tamamındaki her satır için uzak Gemini modelini proxy optimizasyonu olmadan çağırdığından sorgu 1.279.072 giriş jetonu ve 11.925 çıkış jetonu tüketir.
  • Optimizasyon bölümü yok: Standart yürütme, her bir satırı uzak LLM uç noktasına göre değerlendirdiğinden Gen AI Function Optimizations girişi olmadığını unutmayın.

Sorguyu optimize edilmiş modda yürütme

Jeton tüketimini azaltmak ve proxy modeli damıtma işleminden yararlanmak için embeddings => AI.EMBED(...) değerini ileterek ve optimization_mode => 'MINIMIZE_COST' değerini ayarlayarak optimize edilmiş modu etkinleştirin:

SELECT
  title,
  body
FROM
  `bigquery-public-data.bbc_news.fulltext`
WHERE
  AI.IF(
    ('The following news story is about a natural disaster: ', body),
    embeddings => AI.EMBED(body, endpoint => 'text-embedding-005', task_type => 'CLASSIFICATION').result,
    optimization_mode => 'MINIMIZE_COST'
  );

Optimizasyonu doğrulama ve azaltılmış jeton kullanımını gözlemleme

Optimize edilmiş sorguyu çalıştırdıktan sonra, jeton kullanımı ve yürütme metriklerinin nasıl karşılaştırıldığını gözlemlemek için BigQuery Studio İş bilgileri sekmesine geçin:

  1. BigQuery Studio'nun alt kısımdaki sonuçlar bölmesinde İş bilgileri sekmesini seçin.
  2. Üretken Yapay Zeka İşlevi Optimizasyonları bölümüne ve jeton sayılarına gidin.

Sonuçlarınız aşağıdakine benzer şekilde görünür:

BigQuery Studio iş bilgilerinde üretken yapay zeka işlevi optimizasyonları gösteriliyor

  • Önemli ölçüde jeton azaltma: Giriş jetonu sayısının 1.279.072 jetondan 778.626 jetona düştüğünü, yani tek bir sorgu çalıştırmada 500.446 giriş jetonu (yaklaşık% 40 azalma) tasarruf edildiğini fark edin. Benzer şekilde, çıkış jetonlarında da azalma oldu.
  • Otomatik proxy damıtma: AI.IF('The following news s'): 875 out of 2225 rows optimized. Cost Optimization successfully applied. BigQuery, veri kümesini örnekledi, temsili makaleleri Gemini ile etiketledi, hızlı ve hafif bir proxy sınıflandırıcı damıttı ve uzak LLM uç noktalarını çağırmadan 2.225 satırın 875'ini yerel olarak CPU'da işledi.
  • Doğrudan maliyet tasarrufu: BigQuery'nin yönetilen yapay zeka işlevleri, işlenen model jetonlarının hacmine göre faturalandırıldığından jeton tüketimini azaltmak doğrudan sorgu yürütme maliyetlerinin düşmesini sağlar.
  • Kalite doğrulama: BigQuery, kalan satırları değerlendirmek için yükseltmeden önce proxy modelinin doğruluğunu Gemini'a karşı otomatik olarak doğrulayarak sınıflandırma kalitesinin korunmasını sağladı.

Daha büyük tablolarda daha da fazla jeton azaltma ve gecikme süresi ölçeklendirme

2.225 satırda 500.000'den fazla jeton tasarrufu önemli olsa da jeton azaltma ve performans artışı daha büyük tablolarda daha da yüksektir:

  • Neden jeton azaltma, veri kümesi boyutuyla birlikte ölçeklenir? BigQuery'de yürütülen sorgular için proxy modeller,LLM tarafından etiketlenen yaklaşık 1.000 satırlık bir ilk örnek kullanılarak anında eğitilir. Eğitilip doğrulandıktan sonra proxy modeli, kalan satırlarda doğrudan LLM çağrılarını değiştirir. Daha büyük sorgular (ör. 1 milyon satırlık veri kümeleri) için bu yöntem, verilerin büyük bir kısmı için LLM çağrılarını ortadan kaldırarak 400 kata kadar daha az jeton tüketir ve maliyetleri önemli ölçüde azaltır.
  • Önemli gecikme süresi hızlandırması: Çıkarım işlemini özel LLM donanımından doğrudan standart veritabanı çalışanı CPU'larında çalışan ultra hafif proxy modellerine kaydırarak (önceden hesaplanmış Gemini yerleştirmelerinden yararlanarak) BigQuery, genel sorgu çalışma sürelerini 30 ila 100 kat azaltır.

10. Kaynakları temizleme

Bu codelab sırasında oluşturulan kaynakları temizlemek için BigQuery Studio SQL sekmesinde aşağıdaki ifadeyi çalıştırarak Cloud Resource Connection'ı kaldırın:

DROP CONNECTION IF EXISTS `us.conn`;

Alternatif olarak, yalnızca bu eğitim için geçici bir Google Cloud projesi oluşturduysanız Cloud Resource Manager'da projenin tamamını kapatabilirsiniz.

11. Tebrikler

Tebrikler! Yönetilen yapay zeka işlevleri ve SQL ile BigQuery'de Semantik Analiz konulu codelab'i başarıyla tamamlamış olmanız gerekir.

BigQuery'nin yönetilen üretken yapay zeka işlevlerinde uzmanlaştınız:

  • AI.SCORE: Otomatik istem yeniden yazma özelliğini kullanarak ürünleri, hediye edilebilir olma gibi öznel kriterlere göre 1-10 ölçeğinde sıralar.
  • AI.CLASSIFY: Yapılandırılmamış katalog öğelerini hedef hayvan sınıflandırmalarına göre kategorize edin.
  • AI.IF (Çok Formatlı Filtreleme): SQL WHERE ifadelerindeki Cloud Storage görüntü öğeleri, görsel içeriğe göre filtrelenir.
  • AI.IF (Anlamsal Birleştirme): Metin biçimindeki ürün açıklamalarını resim dosyalarıyla bağlamak için SQL ON ifadelerinde modüller arası birleştirmeler gerçekleştirildi.
  • AI.AGG: Çok satırlı yapılandırılmamış katalog metnini kısa bir yönetici özetine dönüştürdü.
  • Optimize Edilmiş Mod ve Proxy Modelleri: optimization_mode => 'MINIMIZE_COST' ile anında model damıtma ve AI.EMBED kullanarak sorguları hızlandırın ve jeton maliyetlerini en aza indirin.

Daha fazla bilgi