AI modeli eğitimi, veri bilimi içinde AI’nin olası kullanım alanlarından biri olarak yükselişte. Daha da özeli, makine öğrenimi Snowflake Cortex AI kullanılarak yapılabilir.
Bu rehberde, Snowflake Cortex AI’nin ne olduğuna ve neler yapabildiğine değineceğiz. Ayrıca Python ve biraz SQL kullanarak makine öğrenimi ve AI’ye nasıl başlanacağına dair basit bir eğitim sunacağız. Snowflake’e yeniyseniz, hız kazanmak için Snowflake’e Giriş kursumuza göz atın.
Snowflake Cortex AI nedir?
Snowflake Cortex AI, Snowflake AI Data Cloud’a entegre güçlü bir özelliktir ve makine öğrenimi (ML) işlemlerinin doğrudan Snowflake ortamında yürütülmesini sağlar.
Python ML modellerinin Snowflake verileriyle sorunsuz entegrasyonuna olanak tanır; böylece kuruluşlar bulut altyapısından yararlanırken büyük veri kümelerinden içgörü, tahmin ve ileri analitik elde edebilir.
Neden Snowflake Cortex AI’yi Python ile kullanmalısınız?
Şimdi bu araçları birlikte kullanmanın faydalarına bakalım.
Snowflake Cortex AI ile Python’u birleştirmenin avantajları
Snowflake Cortex AI kullanmanın bazı önemli faydaları şunlardır:
Python entegrasyonu: Python ML modellerini doğrudan Snowflake’in bilgi işlem ortamında çalıştırmanıza olanak tanır.
Model barındırma: Modeller çıkarım (inference) için barındırılıp sunulabilir.
Veri taşıma yok: Modeller Snowflake ortamında çalıştığından, büyük veri kümelerini harici sunuculara taşımaya gerek yoktur.
Kullanım durumları ve uygulamalar
Öncelikle, Snowflake Cortex AI, önemli kaynak yatırımı yapmadan veri bilimi yetkinliklerini geliştirmek isteyen işletmeler için idealdir. Kodsuz ortamıyla, teknik olmayan kullanıcılar bile kolayca ML modelleri geliştirebilir ve dağıtabilir.
Bu, bir veri bilimi ekibi istihdam etmeye veya pahalı LLM’lere yatırım yapmaya bütçesi yetmeyen küçük işletmeler veya girişimler için özellikle kullanışlıdır.
İkinci olarak, Python’u Snowflake’in bilgi işlem ortamına entegre ederek kullanıcılar, mevcut geniş Python makine öğrenimi algoritmaları ve araçları kitaplığından yararlanabilir. Bu da yeni programlama dilleri öğrenmeden daha gelişmiş ve daha doğru modeller oluşturabilecekleri anlamına gelir.
Son olarak, Snowflake ortamını halihazırda benimsemiş şirketler, Cortex AI’nin mevcut veri ambarlarıyla sorunsuz bütünleşmesinden tam olarak yararlanır; ek altyapı veya veri göçüne ihtiyaç duyulmaz.
Snowflake Cortex AI ile şirketler, makine öğrenimini iş süreçlerine kolay ve verimli şekilde uygulayabilir.
Snowflake Cortex AI ile Başlangıç
Bu eğitimde, Python ve Snowflake Cortex AI kullanarak bir makine öğrenimi hattı (pipeline) kurma sürecini adım adım anlatacağız.
Önkoşullar
Snowflake Cortex AI ile ML üzerinde çalışmaya başlamadan önce aşağıdaki gereksinimleri karşıladığınızdan emin olun:
Snowflake hesabı oluşturma
Öncelikle, verilerinizin saklanıp işlendiği bir Snowflake örneğine ihtiyacınız olacak. Snowflake web sitesinden kaydolabilirsiniz.
Kayıt formunda tüm hesap bilgilerinizi doldurun ve ikinci sayfada aşağıdaki seçimleri yaptığınızdan emin olun. Bu eğitim için Standard sürümünü ve basitlik ile yeniden üretilebilirlik adına Amazon Web Services’i seçin. Sunucu olarak, mevcut LLM işlevlerinin en geniş seçimi için US West (Oregon) seçin.
Bu seçenekleri belirledikten sonra, etkinleştirme e-postasını almak için Get Started’a tıklayın. Hesabınızı etkinleştirmek için e-postanıza gidin ve Snowflake hesabınız kullanıma hazır olacaktır.
Yazılım gereksinimleri
Sırada yazılıma ilişkin bazı diğer gereksinimleri de karşılamanız gerekiyor.
İşte bulundurmanız gerekenlerin basit bir listesi:
Python Ortamı: Gerekli paketlerin kurulu olduğu Python 3.x.
Snowflake: Python ortamınızı Snowflake hesabınıza bağlamak için Snowflake’in terminal üzerinden kurulması gerekir.
VS Code: Python için uygun bir tümleşik geliştirme ortamı (IDE) kullanabilirsiniz. Alternatifler arasında DataLab, Google Colab veya Jupyter Notebook’lar bulunur.
Herhangi bir analize başlamadan önce, kodlama ortamınızın hazır olması için tüm ilgili paketleri kurun.
Gerekli paketleri kurmak için pip kullanabilirsiniz:
Hesap bilgilerinizi girdikten sonra dosyayı kaydedin ve aynı klasöre bir Python veya Jupyter Notebook dosyası oluşturun.
Snowflake’e Bağlanma
Artık her şey hazır olduğuna göre Python ortamınızı Snowflake’e bağlayalım.
Başlamak için Python dosyanızı açın ve gerekli tüm kütüphaneleri içe aktarın. İşte bunun için kod:
import os
from dotenv import load_dotenv
from snowflake.snowpark import Session
from snowflake.cortex import Summarize, Complete, ExtractAnswer, Sentiment, Translate, EmbedText768Altyapı:
Sonraki adımda, daha önce kaydettiğiniz .env dosyasındaki değişkenleri yüklemeniz gerekir. Bu, Snowflake’in işlevlerini kullanmak için oturum açmasına olanak sağlayacak hesap kimlik bilgilerinizi sunar.
Değişkenleri kullanarak bağlandıktan sonra bir Snowflake oturumu ayarlamanız gerekir. Bu nesne, tüm isteklerinizi yönetecektir.
# Creates a Snowflake session
snowflake_session = Session.builder.configs(connection_params).create()Altyapı:
Snowflake Cortex AI LLM İşlevleri
Cortex AI içindeki LLM işlevleri, kullanıcıların kendi AI modellerini geliştirmesine gerek kalmadan LLM’lerin potansiyelinden yararlanmalarını sağlar.
Bu işlevler, ortalama bir analitik kullanıcısına temel görevler aracılığıyla AI destekli analiz sunar.
Snowflake Cortex’in sunduğu işlevler şunlardır:
1. SUMMARIZE
Özetleme işlevi, verilen girdi temelinde verilerin bir özetini üretmek için kullanılır.
Anahtar bilgileri belirlemek ve bunları yoğunlaştırılmış bir biçimde sunmak için LLM’leri kullanır.
Örneğin, uzun bir metin belgeniz varsa ve içeriğine hızlıca göz atmak istiyorsanız, özetleme işlevini kullanarak önemli noktaları yakalayan kısa bir özet alabilirsiniz. Bu, zaman kazandırır ve büyük miktarda verinin daha hızlı analiz edilmesini sağlar.
Bu yazı yazıldığı sırada giriş dili şu an için İngilizce ile sınırlıdır.
Çeviri işlevi, metni bir dilden başka bir dile dönüştürmek için kullanılır.
Metni doğru şekilde çevirmek için makine öğrenimi algoritmaları ve istatistiksel modellerden yararlanır.
Farklı dillerdeki veriler veya belgelerle çalışırken iletişimi ve anlamayı kolaylaştırdığı için kullanışlıdır.
Örneğin, İspanyolca yazılmış bir raporu İngilizce konuşan bir kitleye sunmanız gerekiyorsa, çeviri işlevini kullanarak metni hızla dönüştürebilirsiniz. Bu, manuel çeviri ihtiyacını ortadan kaldırır ve zaman kazandırır.
Tamamlama işlevi, belirli görevleri yerine getirmek için kullanılabilen çok yönlü bir işlemdir. Bu, AI modelini bir görevi yerine getirmesi için gereken bilgileri sunmaya yönlendiren cümle istemleri aracılığıyla yapılır.
Referans için aşağıdaki koda bakın:
# Defines the Complete LLM Functiondefcomplete(user_text):
completion = Complete(
model="snowflake-arctic",
prompt=f"Provide 3 relevant keywords from the following text: {user_text}",
session=snowflake_session,)return completionAltyapı:
4. EXTRACT_ANSWER
Yanıt çıkarma işlevi, modele verilen soruya göre bir yanıt döndürür. Girdi, İngilizce olarak bir dize veya JSON biçiminde olmalıdır.
Referans için aşağıdaki koda bakın:
# Defines the Extract Answer LLM Functiondefextract_answer(user_text):
answer = ExtractAnswer(
from_text=user_text,
question="What are some reasons why young adult South Koreans love coffee?",
session=snowflake_session,)return answerAltyapı:
5. SENTIMENT
Duygu analizi işlevi, verilen metnin duygu durumuna göre nicel bir değer döndürür. Çıktı -1 ile 1 arasında bir değerdir. -1 en olumsuz, 1 en olumlu ve 0 civarı nötrdür.
Metni gömme işlevleri EMBED_TEXT_768 ve EMBED_TEXT_1024 işlevlerini içerir. Sırasıyla 768 ve 1024 boyutlu vektör gömmeleri oluştururlar.
EMBED_TEXT_768 işlevleri için referans kodu aşağıdadır:
# Defines the Embed Text LLM Functiondefembed_text(user_text):
embed_text = EmbedText768(text=user_text, model='snowflake-arctic-embed-m', session=snowflake_session)return embed_textAltyapı:
Şimdi hepsini bir ana işlevde birleştirip bir örnek metin üzerinde çalıştırarak sonuçları görelim.
Modele girdi olarak aşağıda gösterildiği gibi basit, kısa bir metin kullandım:
Kopyalayıp yapıştırmayı kolaylaştırmak için metin burada:
user_text = """
Young adults in South Korea are embracing coffee as a blend of energy, comfort, and culture.
Coffee isn't just about staying awake during demanding studies or work; it’s a cherished part of daily routines.
With South Korea's bustling café culture, coffee shops have become popular spaces for socializing, studying,
or just taking a break from the fast-paced city life.
The diversity of flavors and trendy cafés also offers a unique,
stylish experience that fits right into the evolving lifestyle of young adults,
who seek both connection and personal moments in the midst of it all.
"""Altyapı:
Şimdi kodu çalıştıralım. Sadece birkaç saniye sürmeli.
İşte sonuçlar:
Gördüğünüz gibi, AI sağladığımız metne göre ihtiyaç duyduğumuz tüm sonuçları verdi. Bir özet oluşturdu, metnimi Korece’ye çevirdi, metnime dayalı üç anahtar kelime verdi ve sorularıma dayalı bazı yanıtlar sağladı.
Snowflake Cortex AI Makine Öğrenimi İşlevleri
Cortex AI ayrıca yalnızca SQL kullanarak çalıştırılabilen ML işlevlerine de sahiptir. İşte sunduğu birkaç işlev.
1. Anomali tespiti
Anomali tespiti, verinizin beklenen davranışına uymayan olağandışı örüntüleri belirlemek için gereklidir. Snowflake, veri kümelerinizdeki aykırı değerleri hızlıca belirlemenize olanak tanıyan gradyan artırma makinesi (GBM) tabanlı yerleşik makine öğrenimi işlevleri sunarak anomali tespitini basitleştirir.
Anomali tespiti özellikle şu görevler için faydalıdır:
Sistem performansındaki anormallikler için zaman serisi verilerinin izlenmesi.
Anomali tespiti yapmak için Snowflake sınıfı ANOMALY_DETECTION (SNOWFLAKE.ML) kullanılabilir. Bu komut, bir anomali tespiti model nesnesi oluşturur. Bu adım, modelinizi eğitim verilerine uydurur.
Anomali tespitine başlamak için yeni bir SQL çalışma sayfasına gidin, veri kaynağı olarak yeni veritabanınızı seçin ve bir tablo oluşturmak için aşağıdaki kodu yapıştırın:
CREATE OR REPLACE TABLE historical_sales_data (
store_id NUMBER, item VARCHAR, date TIMESTAMP_NTZ, sales FLOAT, label BOOLEAN,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);
Kodunuz şu şekilde bir SQL çalışma sayfasına gitmelidir:
Bunu, new_sales_data adlı bir tablo oluşturmak üzere aşağıdaki ifadeler izler.
// Creating a new table and adding training dataCREATEORREPLACETABLE new_sales_data (
store_id NUMBER, item VARCHAR,date TIMESTAMP_NTZ, sales FLOAT,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);INSERTINTO new_sales_data VALUES(1,'jacket', to_timestamp_ntz('2020-01-16'),6.0,52,0.3,null),(1,'jacket', to_timestamp_ntz('2020-01-17'),20.0,53,0.3,null),(2,'umbrella', to_timestamp_ntz('2020-01-16'),3.0,52,0.3,null),(2,'umbrella', to_timestamp_ntz('2020-01-17'),70.0,53,0.3,null);Altyapı:
Şimdi anomali tespiti modelini oluşturun:
// Creating anomaly detection model objectCREATEORREPLACEVIEW view_with_training_data
ASSELECTdate, sales FROM historical_sales_data
WHERE store_id=1AND item='jacket';CREATEORREPLACE SNOWFLAKE.ML.ANOMALY_DETECTION basic_model(
INPUT_DATA =>TABLE(view_with_training_data),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales',
LABEL_COLNAME =>'');Altyapı:
Bu, aşağıda gösterildiği gibi bir model oluşturulduğunu belirten bir sonuç döndürmelidir.
Sonraki adımda, nesne modelini kullanarak bazı tespitler yapalım.
// Perform anomaly detectionCREATEORREPLACEVIEW view_with_data_to_analyze
ASSELECTdate, sales FROM new_sales_data
WHERE store_id=1and item='jacket';CALL basic_model!DETECT_ANOMALIES(
INPUT_DATA =>TABLE(view_with_data_to_analyze),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');Altyapı:
Tespitin çıktısı şu şekildedir:
2. Sınıflandırma
Sınıflandırmaverilerin önceden tanımlanmış sınıflara ayrılmasını içerir. Snowflake ile verileri doğrudan Snowflake içinden sınıflandırabilir, böylece verileri harici ML ortamlarına aktarma ihtiyacını ortadan kaldırabilirsiniz.
Başlamak için aşağıdaki kodla bir örnek veri kümesi oluşturun:
Eğitim verileri amacıyla yeni bir görünüm (view) oluşturalım.
// Creating view for training dataCREATEORREPLACEview binary_classification_view ASSELECT user_interest_score, user_rating, label
FROM training_purchase_data;SELECT*FROM binary_classification_view ORDERBY RANDOM(42)LIMIT5;Altyapı:
Bu görünüm aşağıdaki sonuçları üretmelidir:
Şimdi modelimizi eğitim verilerimize göre eğitelim:
// Training a binary classification modelCREATEORREPLACE SNOWFLAKE.ML.CLASSIFICATION model_binary(
INPUT_DATA => SYSTEM$REFERENCE('view','binary_classification_view'),
TARGET_COLNAME =>'label');Altyapı:
Sınıflandırma yapmak için PREDICT yöntemini kullanın:
// Performing prediction using PREDICT methodSELECT model_binary!PREDICT(INPUT_DATA => {*})AS prediction FROM prediction_purchase_data;Altyapı:
Tahmin şu şekilde görünür:
Daha güzel biçimlendirmek için şu SQL ifadesini kullanın:
// Formatting SQL predictionsSELECT*, model_binary!PREDICT(INPUT_DATA => {*})AS predictions FROM prediction_purchase_data;Altyapı:
Tahminler için şu düzenli çıktı biçimine ulaşmalısınız:
3. Öne çıkan içgörüler
Top Insights, zaman serisi analizi yoluyla metriklerinizdeki dalgalanmaları zaman içinde izlemek için bir izleme aracıdır. Karar ağacı modeli kullanarak, Top Insights belirli bir metrikin artışına veya azalmasına en çok katkıda bulunan faktörleri tanımlayabilir.
Bu işlevi kullanarak bir zaman serisi analizine örnek bakalım.
Tahminleme, geçmiş verilere dayalı olarak gelecekteki değerleri öngörmeniz gerektiğinde kritik önemdedir. İster satış tahmini, ister enerji tüketimi ya da web trafiği öngörüsü olsun, Snowflake’in yerleşik işlevleri bu görevleri çok daha kolay hale getirir.
Örneğimizde tek bir seri üzerinde tahminleme yapalım:
Ardından, eğitim verilerini veri kümesinden ayıralım.
// Creating a view for training dataCREATEORREPLACEVIEW v1 ASSELECTdate, sales
FROM sales_data WHERE store_id=1AND item='jacket';SELECT*FROM v1;Altyapı:
Tahminlemeye başlamadan önce, seçtiğiniz eğitim verilerine dayalı olarak modelinizi eğitmeniz gerekir.
Bunu şu şekilde yapabilirsiniz:
// Training a forecasting modelCREATE SNOWFLAKE.ML.FORECAST model1(
INPUT_DATA =>TABLE(v1),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');Altyapı:
Son olarak, tahmin için FORECAST yöntemini çağırarak tahmin adımını gerçekleştirebilirsiniz.
// Performing the forecast by calling the FORECAST methodcall model1!FORECAST(FORECASTING_PERIODS =>5);Altyapı:
Tahminimizin ortaya çıkan çıktısı budur.
Snowflake’te ML Modellerini İzleme
Model performansını izlemek, Snowflake’te üçüncü taraf entegrasyonları (ör. Tableau) ile panolar oluşturarak veya Snowflake günlüklerini sorgulayarak yapılabilir. Doğruluk (accuracy), kesinlik (precision) ve geri çağırma (recall) gibi bazı yararlı metrikler modellerin takibi için kullanılabilir.
Sonuç
Snowflake Cortex AI, modellerin Snowflake platformundan sorunsuz entegrasyonunu sağlayarak makine öğrenimini basitleştirir. Bu eğitim, Snowflake Cortex AI ve Snowflake Cortex ML işlevlerini kullanma konusunda size yol gösterdi.
Bu çözüm, Snowflake’in ölçeklenebilirliğinden ve Python’un esnekliğinden yararlanır; verileri bulut dışına taşımadan makine öğrenimi uygulamak isteyen kuruluşlar için idealdir.
Python ve Snowflake Cortex ile Makine Öğrenimi SSS
Python makine öğrenimi ve AI için iyi midir?⌄
Python; PyTorch, TensorFlow ve Keras gibi güçlü kütüphaneleri sayesinde makine öğrenimi ve AI için uygundur. Snowflake AI ve ML işlevlerine de Python üzerinden erişilebilir.
AI ve makine öğrenimi için Python nasıl kullanılır?⌄
Python, yerleşik kütüphanelerle veya Snowflake’in LLM ve ML işlevleri aracılığıyla AI ve makine öğrenimi için kullanılabilir.
Snowflake Cortex ML tabanlı işlevler nasıl kullanılır?⌄
Snowflake Cortex ML tabanlı işlevleri, her bir işlevin ilgili yöntemleri SQL ile çağrılarak kullanılabilir.
Snowflake AI modelleri nedir?⌄
Snowflake AI modelleri, Snowflake Cortex’i ve ilgili işlevlerini güçlendiren büyük dil modelleridir.
Bazı Snowflake makine öğrenimi örnekleri nelerdir?⌄
Snowflake makine öğrenimi işlevleri; anomali tespiti, tahminleme, öne çıkan içgörüler elde etme ve sınıflandırma gibi çeşitli uygulamalara uygulanabilir.
Ben Austin, sağlık sektöründe veri bilimci ve veri analisti olarak yıllara dayanan deneyime sahip bir blogger ve teknoloji yazarıyım. Biyoloji geçmişiyle başladığım teknoloji yolculuğumda, şimdi teknoloji blogum aracılığıyla başkalarının da aynı geçişi yapmasına yardımcı oluyorum. Teknolojiye olan tutkum, onlarca SaaS şirketine yazılı katkılar sunmama, başkalarına ilham vermeme ve deneyimlerimi paylaşmama vesile oldu.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
AI modeli eğitimi, veri bilimi içinde AI’nin olası kullanım alanlarından biri olarak yükselişte. Daha da özeli, makine öğrenimi Snowflake Cortex AI kullanılarak yapılabilir.
Bu rehberde, Snowflake Cortex AI’nin ne olduğuna ve neler yapabildiğine değineceğiz. Ayrıca Python ve biraz SQL kullanarak makine öğrenimi ve AI’ye nasıl başlanacağına dair basit bir eğitim sunacağız. Snowflake’e yeniyseniz, hız kazanmak için Snowflake’e Giriş kursumuza göz atın.
Snowflake Cortex AI nedir?
Snowflake Cortex AI, Snowflake AI Data Cloud’a entegre güçlü bir özelliktir ve makine öğrenimi (ML) işlemlerinin doğrudan Snowflake ortamında yürütülmesini sağlar.
Python ML modellerinin Snowflake verileriyle sorunsuz entegrasyonuna olanak tanır; böylece kuruluşlar bulut altyapısından yararlanırken büyük veri kümelerinden içgörü, tahmin ve ileri analitik elde edebilir.
Kaynak: Snowflake Cortex AI
Snowflake Cortex AI’nin temel özellikleri:
Snowflake Cortex iki ana parçadan oluşur—LLM işlevleri ve ML işlevleri.
LLM işlevleri için şunlara sahipsiniz:
Her bir işleve aşağıda daha ayrıntılı bakacağız.
ML işlevleri için şunlara sahipsiniz:
Snowflake ve işlevlerini nereden öğrenebileceğinizi mi merak ediyorsunuz? Yeni başlayanlar için Snowflake Eğitimi ve Snowflake sertifikasyon rehberi size yardımcı olacaktır.
Neden Snowflake Cortex AI’yi Python ile kullanmalısınız?
Şimdi bu araçları birlikte kullanmanın faydalarına bakalım.
Snowflake Cortex AI ile Python’u birleştirmenin avantajları
Snowflake Cortex AI kullanmanın bazı önemli faydaları şunlardır:
Kullanım durumları ve uygulamalar
Öncelikle, Snowflake Cortex AI, önemli kaynak yatırımı yapmadan veri bilimi yetkinliklerini geliştirmek isteyen işletmeler için idealdir. Kodsuz ortamıyla, teknik olmayan kullanıcılar bile kolayca ML modelleri geliştirebilir ve dağıtabilir.
Bu, bir veri bilimi ekibi istihdam etmeye veya pahalı LLM’lere yatırım yapmaya bütçesi yetmeyen küçük işletmeler veya girişimler için özellikle kullanışlıdır.
İkinci olarak, Python’u Snowflake’in bilgi işlem ortamına entegre ederek kullanıcılar, mevcut geniş Python makine öğrenimi algoritmaları ve araçları kitaplığından yararlanabilir. Bu da yeni programlama dilleri öğrenmeden daha gelişmiş ve daha doğru modeller oluşturabilecekleri anlamına gelir.
Son olarak, Snowflake ortamını halihazırda benimsemiş şirketler, Cortex AI’nin mevcut veri ambarlarıyla sorunsuz bütünleşmesinden tam olarak yararlanır; ek altyapı veya veri göçüne ihtiyaç duyulmaz.
Snowflake Cortex AI ile şirketler, makine öğrenimini iş süreçlerine kolay ve verimli şekilde uygulayabilir.
Snowflake Cortex AI ile Başlangıç
Bu eğitimde, Python ve Snowflake Cortex AI kullanarak bir makine öğrenimi hattı (pipeline) kurma sürecini adım adım anlatacağız.
Önkoşullar
Snowflake Cortex AI ile ML üzerinde çalışmaya başlamadan önce aşağıdaki gereksinimleri karşıladığınızdan emin olun:
Snowflake hesabı oluşturma
Öncelikle, verilerinizin saklanıp işlendiği bir Snowflake örneğine ihtiyacınız olacak. Snowflake web sitesinden kaydolabilirsiniz.
Kayıt formunda tüm hesap bilgilerinizi doldurun ve ikinci sayfada aşağıdaki seçimleri yaptığınızdan emin olun. Bu eğitim için Standard sürümünü ve basitlik ile yeniden üretilebilirlik adına Amazon Web Services’i seçin. Sunucu olarak, mevcut LLM işlevlerinin en geniş seçimi için US West (Oregon) seçin.
Bu seçenekleri belirledikten sonra, etkinleştirme e-postasını almak için Get Started’a tıklayın. Hesabınızı etkinleştirmek için e-postanıza gidin ve Snowflake hesabınız kullanıma hazır olacaktır.
Yazılım gereksinimleri
Sırada yazılıma ilişkin bazı diğer gereksinimleri de karşılamanız gerekiyor.
İşte bulundurmanız gerekenlerin basit bir listesi:
Herhangi bir analize başlamadan önce, kodlama ortamınızın hazır olması için tüm ilgili paketleri kurun.
Gerekli paketleri kurmak için pip kullanabilirsiniz:
Kütüphaneleri kurduktan sonra, çalışmaya başlamak için çalışma klasörünüzü ve dosyalarınızı ayarlamanız gerekir.
Cortex AI Tutorial adlı bir klasör oluşturdum ve aşağıdaki bilgileri içeren yeni bir
.envdosyası ekledim:Hesap bilgilerinizi girdikten sonra dosyayı kaydedin ve aynı klasöre bir Python veya Jupyter Notebook dosyası oluşturun.
Snowflake’e Bağlanma
Artık her şey hazır olduğuna göre Python ortamınızı Snowflake’e bağlayalım.
Başlamak için Python dosyanızı açın ve gerekli tüm kütüphaneleri içe aktarın. İşte bunun için kod:
Sonraki adımda, daha önce kaydettiğiniz .env dosyasındaki değişkenleri yüklemeniz gerekir. Bu, Snowflake’in işlevlerini kullanmak için oturum açmasına olanak sağlayacak hesap kimlik bilgilerinizi sunar.
Değişkenleri kullanarak bağlandıktan sonra bir Snowflake oturumu ayarlamanız gerekir. Bu nesne, tüm isteklerinizi yönetecektir.
Snowflake Cortex AI LLM İşlevleri
Cortex AI içindeki LLM işlevleri, kullanıcıların kendi AI modellerini geliştirmesine gerek kalmadan LLM’lerin potansiyelinden yararlanmalarını sağlar.
Bu işlevler, ortalama bir analitik kullanıcısına temel görevler aracılığıyla AI destekli analiz sunar.
Snowflake Cortex’in sunduğu işlevler şunlardır:
1. SUMMARIZE
Özetleme işlevi, verilen girdi temelinde verilerin bir özetini üretmek için kullanılır.
Anahtar bilgileri belirlemek ve bunları yoğunlaştırılmış bir biçimde sunmak için LLM’leri kullanır.
Örneğin, uzun bir metin belgeniz varsa ve içeriğine hızlıca göz atmak istiyorsanız, özetleme işlevini kullanarak önemli noktaları yakalayan kısa bir özet alabilirsiniz. Bu, zaman kazandırır ve büyük miktarda verinin daha hızlı analiz edilmesini sağlar.
Bu yazı yazıldığı sırada giriş dili şu an için İngilizce ile sınırlıdır.
Referans için aşağıdaki koda bakın:
2. TRANSLATE
Çeviri işlevi, metni bir dilden başka bir dile dönüştürmek için kullanılır.
Metni doğru şekilde çevirmek için makine öğrenimi algoritmaları ve istatistiksel modellerden yararlanır.
Farklı dillerdeki veriler veya belgelerle çalışırken iletişimi ve anlamayı kolaylaştırdığı için kullanışlıdır.
Örneğin, İspanyolca yazılmış bir raporu İngilizce konuşan bir kitleye sunmanız gerekiyorsa, çeviri işlevini kullanarak metni hızla dönüştürebilirsiniz. Bu, manuel çeviri ihtiyacını ortadan kaldırır ve zaman kazandırır.
Referans için aşağıdaki koda bakın:
3. COMPLETE
Tamamlama işlevi, belirli görevleri yerine getirmek için kullanılabilen çok yönlü bir işlemdir. Bu, AI modelini bir görevi yerine getirmesi için gereken bilgileri sunmaya yönlendiren cümle istemleri aracılığıyla yapılır.
Referans için aşağıdaki koda bakın:
4. EXTRACT_ANSWER
Yanıt çıkarma işlevi, modele verilen soruya göre bir yanıt döndürür. Girdi, İngilizce olarak bir dize veya JSON biçiminde olmalıdır.
Referans için aşağıdaki koda bakın:
5. SENTIMENT
Duygu analizi işlevi, verilen metnin duygu durumuna göre nicel bir değer döndürür. Çıktı -1 ile 1 arasında bir değerdir. -1 en olumsuz, 1 en olumlu ve 0 civarı nötrdür.
Referans için aşağıdaki koda bakın:
6. EMBED_TEXT
Metni gömme işlevleri
EMBED_TEXT_768veEMBED_TEXT_1024işlevlerini içerir. Sırasıyla 768 ve 1024 boyutlu vektör gömmeleri oluştururlar.EMBED_TEXT_768işlevleri için referans kodu aşağıdadır:Şimdi hepsini bir ana işlevde birleştirip bir örnek metin üzerinde çalıştırarak sonuçları görelim.
Modele girdi olarak aşağıda gösterildiği gibi basit, kısa bir metin kullandım:
Kopyalayıp yapıştırmayı kolaylaştırmak için metin burada:
Şimdi kodu çalıştıralım. Sadece birkaç saniye sürmeli.
İşte sonuçlar:
Gördüğünüz gibi, AI sağladığımız metne göre ihtiyaç duyduğumuz tüm sonuçları verdi. Bir özet oluşturdu, metnimi Korece’ye çevirdi, metnime dayalı üç anahtar kelime verdi ve sorularıma dayalı bazı yanıtlar sağladı.
Snowflake Cortex AI Makine Öğrenimi İşlevleri
Cortex AI ayrıca yalnızca SQL kullanarak çalıştırılabilen ML işlevlerine de sahiptir. İşte sunduğu birkaç işlev.
1. Anomali tespiti
Anomali tespiti, verinizin beklenen davranışına uymayan olağandışı örüntüleri belirlemek için gereklidir. Snowflake, veri kümelerinizdeki aykırı değerleri hızlıca belirlemenize olanak tanıyan gradyan artırma makinesi (GBM) tabanlı yerleşik makine öğrenimi işlevleri sunarak anomali tespitini basitleştirir.
Anomali tespiti özellikle şu görevler için faydalıdır:
Anomali tespiti yapmak için Snowflake sınıfı ANOMALY_DETECTION (SNOWFLAKE.ML) kullanılabilir. Bu komut, bir anomali tespiti model nesnesi oluşturur. Bu adım, modelinizi eğitim verilerine uydurur.
Bunu şu şekilde kullanabilirsiniz:
Nesneyi oluşturduktan sonra anomali tespiti yapmak için <model_name>!DETECT_ANOMALIES yöntemini kullanabilirsiniz,
Bu, yöntemin aykırı değerleri tespit ettiği asıl tahmin adımıdır.
Aşağıda bir veri kümesi kullanarak anomali tespitinin nasıl yapılabileceğine dair bir örnek yer almaktadır.
Öncelikle sol sekmeden Data’ya gidip Add Data’yı, ardından Load data into a Table’ı seçerek bir veritabanı oluşturabilirsiniz.
Açılan pencerede + Database’e tıklayın ve veritabanınıza bir ad verin. Create’e tıklayın, ardından ana açılır pencerede Cancel’a tıklayın.
Bu, çalışabileceğiniz boş bir veritabanı oluşturacaktır.
Aşağıdaki örnekler Snowflake Dokümantasyonundan uyarlanmıştır.
Anomali tespitine başlamak için yeni bir SQL çalışma sayfasına gidin, veri kaynağı olarak yeni veritabanınızı seçin ve bir tablo oluşturmak için aşağıdaki kodu yapıştırın:
CREATE OR REPLACE TABLE historical_sales_data (
store_id NUMBER, item VARCHAR, date TIMESTAMP_NTZ, sales FLOAT, label BOOLEAN,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);
Kodunuz şu şekilde bir SQL çalışma sayfasına gitmelidir:
Bunu,
new_sales_dataadlı bir tablo oluşturmak üzere aşağıdaki ifadeler izler.Şimdi anomali tespiti modelini oluşturun:
Bu, aşağıda gösterildiği gibi bir model oluşturulduğunu belirten bir sonuç döndürmelidir.
Sonraki adımda, nesne modelini kullanarak bazı tespitler yapalım.
Tespitin çıktısı şu şekildedir:
2. Sınıflandırma
Sınıflandırma verilerin önceden tanımlanmış sınıflara ayrılmasını içerir. Snowflake ile verileri doğrudan Snowflake içinden sınıflandırabilir, böylece verileri harici ML ortamlarına aktarma ihtiyacını ortadan kaldırabilirsiniz.
Başlamak için aşağıdaki kodla bir örnek veri kümesi oluşturun:
Eğitim verileri amacıyla yeni bir görünüm (view) oluşturalım.
Bu görünüm aşağıdaki sonuçları üretmelidir:
Şimdi modelimizi eğitim verilerimize göre eğitelim:
Sınıflandırma yapmak için
PREDICTyöntemini kullanın:Tahmin şu şekilde görünür:
Daha güzel biçimlendirmek için şu SQL ifadesini kullanın:
Tahminler için şu düzenli çıktı biçimine ulaşmalısınız:
3. Öne çıkan içgörüler
Top Insights, zaman serisi analizi yoluyla metriklerinizdeki dalgalanmaları zaman içinde izlemek için bir izleme aracıdır. Karar ağacı modeli kullanarak, Top Insights belirli bir metrikin artışına veya azalmasına en çok katkıda bulunan faktörleri tanımlayabilir.
Bu işlevi kullanarak bir zaman serisi analizine örnek bakalım.
Öncelikle bir veri kümesi oluşturalım:
Sonraki adımda, tahmin için model nesnesini oluşturmamız gerekir. Bu,
GET_DRIVERSyöntemine erişmek için gereklidir.Son olarak, tahmin için GET_DRIVERS yöntemini çağırın.
Şu sonuçları almalısınız:
4. Tahminleme
Tahminleme, geçmiş verilere dayalı olarak gelecekteki değerleri öngörmeniz gerektiğinde kritik önemdedir. İster satış tahmini, ister enerji tüketimi ya da web trafiği öngörüsü olsun, Snowflake’in yerleşik işlevleri bu görevleri çok daha kolay hale getirir.
Örneğimizde tek bir seri üzerinde tahminleme yapalım:
Ardından, eğitim verilerini veri kümesinden ayıralım.
Tahminlemeye başlamadan önce, seçtiğiniz eğitim verilerine dayalı olarak modelinizi eğitmeniz gerekir.
Bunu şu şekilde yapabilirsiniz:
Son olarak, tahmin için FORECAST yöntemini çağırarak tahmin adımını gerçekleştirebilirsiniz.
Tahminimizin ortaya çıkan çıktısı budur.
Snowflake’te ML Modellerini İzleme
Model performansını izlemek, Snowflake’te üçüncü taraf entegrasyonları (ör. Tableau) ile panolar oluşturarak veya Snowflake günlüklerini sorgulayarak yapılabilir. Doğruluk (accuracy), kesinlik (precision) ve geri çağırma (recall) gibi bazı yararlı metrikler modellerin takibi için kullanılabilir.
Sonuç
Snowflake Cortex AI, modellerin Snowflake platformundan sorunsuz entegrasyonunu sağlayarak makine öğrenimini basitleştirir. Bu eğitim, Snowflake Cortex AI ve Snowflake Cortex ML işlevlerini kullanma konusunda size yol gösterdi.
Bu çözüm, Snowflake’in ölçeklenebilirliğinden ve Python’un esnekliğinden yararlanır; verileri bulut dışına taşımadan makine öğrenimi uygulamak isteyen kuruluşlar için idealdir.
Snowflake hakkında daha fazla kaynak mı arıyorsunuz? Snowflake Yeni Başlayanlar Eğitimi ve Snowpark rehberi hoşunuza gidecektir. Daha kapsamlı bir şey arıyorsanız Snowflake’e Giriş kursu sizin için doğru seçim olabilir.