Pelatihan model AI berkembang pesat sebagai salah satu potensi penerapan AI dalam data science. Lebih khusus lagi, machine learning dapat dilakukan menggunakan Snowflake Cortex AI.
Dalam panduan ini, kami akan membahas apa itu Snowflake Cortex AI dan apa yang dapat dilakukannya. Selain itu, kami akan memberikan tutorial sederhana tentang cara memulai machine learning dan AI menggunakan Python dan sedikit SQL. Jika Anda baru mengenal Snowflake, lihat kursus Introduction to Snowflake kami untuk mengejar ketertinggalan.
Apa itu Snowflake Cortex AI?
Snowflake Cortex AI adalah fitur andal yang terintegrasi ke dalam Snowflake AI Data Cloud, dirancang untuk memfasilitasi operasi machine learning (ML) langsung di dalam lingkungan Snowflake.
Fitur ini memungkinkan integrasi mulus model ML Python dengan data Snowflake, sehingga organisasi dapat memperoleh insight, prediksi, dan analitik lanjutan dari kumpulan data besar sambil memanfaatkan infrastruktur cloud.
Mengapa Menggunakan Snowflake Cortex AI dengan Python?
Sekarang mari kita lihat manfaat menggunakan kedua alat ini bersama-sama.
Keunggulan menggabungkan Snowflake Cortex AI dengan Python
Beberapa manfaat utama menggunakan Snowflake Cortex AI adalah:
Integrasi Python: Memungkinkan Anda menjalankan model ML Python langsung di lingkungan komputasi Snowflake.
Hosting model: Model dapat di-host dan disajikan untuk inferensi.
Tanpa pemindahan data: Karena model berjalan di lingkungan Snowflake, tidak perlu memindahkan dataset besar ke server eksternal.
Kasus penggunaan dan aplikasi
Pertama, Snowflake Cortex AI sangat cocok bagi bisnis yang ingin meningkatkan kapabilitas data science tanpa investasi sumber daya yang signifikan. Dengan lingkungan no-code, bahkan pengguna non-teknis dapat dengan mudah mengembangkan dan menerapkan model ML.
Ini sangat berguna untuk bisnis kecil atau startup yang mungkin tidak memiliki anggaran untuk merekrut tim data scientist atau berinvestasi pada LLM yang mahal.
Kedua, dengan mengintegrasikan Python ke dalam lingkungan komputasi Snowflake, pengguna dapat memanfaatkan pustaka algoritme dan alat machine learning Python yang sangat luas. Artinya, mereka dapat membuat model yang lebih canggih dan akurat tanpa harus mempelajari bahasa pemrograman baru.
Terakhir, perusahaan yang sudah mengadopsi lingkungan Snowflake akan merasakan manfaat penuh Cortex AI karena integrasinya mulus dengan gudang data yang ada, sehingga tidak perlu infrastruktur tambahan atau migrasi data.
Dengan Snowflake Cortex AI, perusahaan dapat menerapkan machine learning ke dalam proses bisnis mereka secara mudah dan efisien.
Memulai dengan Snowflake Cortex AI
Dalam tutorial ini, kami akan menelusuri proses menyiapkan pipeline machine learning menggunakan Python dan Snowflake Cortex AI.
Prasyarat
Sebelum Anda mulai mengerjakan ML dengan Snowflake Cortex AI, pastikan Anda memenuhi persyaratan berikut:
Menyiapkan akun Snowflake
Pertama, Anda memerlukan instance Snowflake tempat data Anda disimpan dan diproses. Anda dapat mendaftar di situs web Snowflake.
Pada formulir pendaftaran, isi semua detail akun Anda dan pastikan membuat pilihan berikut pada halaman kedua. Pilih edisi Standard untuk tutorial ini dan Amazon Web Services demi kesederhanaan dan reprodusibilitas. Untuk server, pilih US West (Oregon) untuk pilihan fungsi LLM terbaik yang tersedia.
Setelah Anda memilih opsi-opsi tersebut, klik Get Started untuk menerima email aktivasi. Buka email Anda untuk mengaktifkan akun, dan akun Snowflake Anda siap digunakan.
Persyaratan perangkat lunak
Selanjutnya, Anda juga perlu memenuhi beberapa persyaratan lain untuk perangkat lunak.
Berikut daftar sederhana yang perlu disiapkan:
Lingkungan Python: Python 3.x dengan paket yang diperlukan terpasang.
Snowflake: Snowflake harus diinstal dari terminal untuk menghubungkan lingkungan Python Anda ke akun Snowflake Anda.
VS Code: IDE yang cocok untuk Python dapat digunakan. Alternatif lain termasuk DataLab, Google Colab, atau Jupyter Notebooks.
Sebelum memulai analisis, instal semua paket yang relevan agar lingkungan pengodean Anda siap.
Untuk memasang paket yang diperlukan, Anda dapat menggunakan pip:
Setelah memasukkan informasi akun Anda, simpan file dan buat file Python atau Jupyter Notebook di folder yang sama.
Menyambungkan ke Snowflake
Sekarang semuanya sudah siap, mari hubungkan lingkungan Python Anda ke Snowflake.
Untuk memulai, buka file Python Anda dan impor semua pustaka yang diperlukan. Berikut kodenya:
import os
from dotenv import load_dotenv
from snowflake.snowpark import Session
from snowflake.cortex import Summarize, Complete, ExtractAnswer, Sentiment, Translate, EmbedText768Didukung oleh
Selanjutnya, Anda harus memuat variabel yang Anda simpan di file .env yang Anda simpan sebelumnya. Ini akan memberikan kredensial akun Anda ke Snowflake untuk masuk dan menggunakan fungsinya.
# Loads environment variables from .env
load_dotenv()
connection_params ={"account": os.environ["SNOWFLAKE_ACCOUNT"],"user": os.environ["SNOWFLAKE_USER"],"password": os.environ["SNOWFLAKE_USER_PASSWORD"],}Didukung oleh
Setelah Anda tersambung menggunakan variabel tersebut, Anda perlu menyiapkan sesi Snowflake. Ini adalah objek yang akan menangani semua permintaan Anda.
# Creates a Snowflake session
snowflake_session = Session.builder.configs(connection_params).create()Didukung oleh
Fungsi LLM Snowflake Cortex AI
Fungsi LLM dalam Cortex AI memungkinkan pengguna memanfaatkan potensi LLM tanpa perlu mengembangkan model AI sendiri.
Fungsi-fungsi ini membantu pengguna analitik pada umumnya dengan analisis bertenaga AI melalui beberapa tugas dasar.
Berikut fungsi-fungsi yang dimiliki Snowflake Cortex:
1. SUMMARIZE
Fungsi summarize digunakan untuk menghasilkan ringkasan data berdasarkan masukan yang diberikan.
Fungsi ini menggunakan LLM untuk mengidentifikasi informasi kunci dan menyajikannya dalam format yang ringkas.
Misalnya, jika Anda memiliki dokumen teks panjang dan menginginkan ikhtisar cepat dari isinya, Anda dapat menggunakan fungsi summarize untuk mendapatkan ringkasan singkat yang menangkap poin-poin penting. Ini menghemat waktu dan memungkinkan analisis lebih cepat atas sejumlah besar data.
Bahasa input saat ini terbatas pada bahasa Inggris pada saat artikel ini ditulis.
Lihat kode di bawah sebagai referensi:
# Defines the Summarize LLM Functiondefsummarize(user_text):
summary = Summarize(text=user_text, session=snowflake_session)return summaryDidukung oleh
2. TRANSLATE
Fungsi translate digunakan untuk mengonversi teks dari satu bahasa ke bahasa lain.
Fungsi ini memanfaatkan algoritme machine learning dan model statistik untuk menerjemahkan teks secara akurat.
Ini berguna saat bekerja dengan data atau dokumen dalam bahasa berbeda, karena memungkinkan komunikasi dan pemahaman yang lebih mudah.
Misalnya, jika Anda memiliki laporan yang ditulis dalam bahasa Spanyol dan perlu menyajikannya kepada audiens berbahasa Inggris, Anda dapat menggunakan fungsi translate untuk cepat mengonversi teks. Ini menghilangkan kebutuhan terjemahan manual dan menghemat waktu.
Lihat kode di bawah sebagai referensi:
# Defines the Translate LLM Functiondeftranslate(user_text):
translation = Translate(
text=user_text, from_language="en", to_language="ko", session=snowflake_session
)return translationDidukung oleh
3. COMPLETE
Fungsi complete adalah fungsi serba bisa yang dapat digunakan untuk menjalankan tugas tertentu. Ini dilakukan melalui penggunaan prompt kalimat yang memandu model AI dalam memberikan informasi yang diperlukan untuk mengeksekusi sebuah tugas.
Lihat kode di bawah sebagai referensi:
# 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 completionDidukung oleh
4. EXTRACT_ANSWER
Fungsi extract answer memberikan jawaban berdasarkan pertanyaan yang diajukan ke model. Input harus dalam bahasa Inggris dalam format string atau JSON.
Lihat kode di bawah sebagai referensi:
# 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 answerDidukung oleh
5. SENTIMENT
Fungsi sentiment memberikan angka kuantitatif berdasarkan sentimen teks yang diberikan. Fungsi ini menghasilkan nilai antara -1 hingga 1. Nilai -1 paling negatif, 1 paling positif, dan nilai sekitar 0 bersifat netral.
Lihat kode di bawah sebagai referensi:
# Defines the Sentiment LLM Functiondefsentiment(user_text):
sentiment = Sentiment(text=user_text, session=snowflake_session)return sentimentDidukung oleh
6. EMBED_TEXT
Fungsi embed text mencakup fungsi EMBED_TEXT_768 dan EMBED_TEXT_1024. Keduanya membuat embedding vektor berdimensi 768 dan 1024 secara berturut-turut.
Lihat kode di bawah sebagai referensi untuk fungsi EMBED_TEXT_768:
# 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_textDidukung oleh
Sekarang mari kita satukan semuanya dalam fungsi utama dan jalankan pada teks contoh untuk melihat hasilnya.
Saya menggunakan potongan teks sederhana dan pendek untuk dimasukkan ke dalam model, seperti di bawah ini:
Agar mudah disalin-tempel, berikut teksnya:
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.
"""Didukung oleh
Sekarang, mari jalankan kodenya. Seharusnya hanya memakan waktu beberapa detik.
Berikut hasilnya:
Seperti yang Anda lihat, AI memberikan semua hasil yang kami butuhkan berdasarkan teks yang kami berikan. AI memberikan ringkasan, menerjemahkan teks saya ke bahasa Korea, memberikan tiga kata kunci berdasarkan teks saya, dan memberikan beberapa jawaban berdasarkan pertanyaan saya.
Fungsi Machine Learning Snowflake Cortex AI
Cortex AI juga memiliki fungsi ML yang dapat dijalankan hanya dengan SQL. Berikut beberapa fungsi yang disediakannya.
1. Deteksi anomali
Deteksi anomali penting untuk mengidentifikasi pola tidak biasa yang tidak sesuai dengan perilaku data yang diharapkan. Snowflake menyederhanakan deteksi anomali dengan menyediakan fungsi machine learning bawaan berbasis gradient boosting machine (GBM) yang memungkinkan Anda cepat mengidentifikasi outlier dalam dataset.
Deteksi anomali sangat berguna untuk tugas seperti:
Mendeteksi penipuan dalam data transaksi.
Mengidentifikasi perilaku pengguna yang tidak biasa.
Memantau data deret waktu untuk anomali dalam performa sistem.
Untuk melakukan deteksi anomali, kelas Snowflake ANOMALY_DETECTION (SNOWFLAKE.ML) dapat digunakan. Perintah ini membuat objek model deteksi anomali. Langkah ini menyesuaikan model Anda dengan data pelatihan.
Berikut cara menggunakannya:
CREATE[ORREPLACE] SNOWFLAKE.ML.ANOMALY_DETECTION <model_name>(
INPUT_DATA =><reference_to_training_data>,[ SERIES_COLNAME =>'<series_column_name>',]
TIMESTAMP_COLNAME =>'<timestamp_column_name>',
TARGET_COLNAME =>'<target_column_name>',
LABEL_COLNAME =>'<label_column_name>',[ CONFIG_OBJECT =><config_object>])[[WITH] TAG (<tag_name>='<tag_value>'[,<tag_name>='<tag_value>',...])][COMMENT='<string_literal>']Didukung oleh
Setelah Anda membuat objeknya, Anda dapat menggunakan metode <model_name>!DETECT_ANOMALIES untuk melakukan deteksi anomali,
Kode Anda harus dimasukkan ke dalam lembar kerja SQL yang terlihat seperti ini:
Ini diikuti dengan pernyataan berikut untuk membuat tabel bernama new_sales_data.
// 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);Didukung oleh
Sekarang, buat model deteksi anomali:
// 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 =>'');Didukung oleh
Ini akan menghasilkan pernyataan bahwa sebuah model telah dibuat seperti yang ditunjukkan di bawah.
Berikutnya, mari gunakan objek model untuk melakukan deteksi.
// 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');Didukung oleh
Berikut output deteksinya:
2. Klasifikasi
Klasifikasimelibatkan pengelompokan data ke kelas yang telah ditentukan. Dengan Snowflake, Anda dapat mengklasifikasikan data langsung dari dalam Snowflake, menghilangkan kebutuhan ekspor data ke lingkungan ML eksternal.
Untuk memulai, buat dataset contoh menggunakan kode berikut:
Untuk keperluan data pelatihan, mari buat view baru.
// 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;Didukung oleh
View ini akan menghasilkan keluaran berikut:
Selanjutnya, mari latih model berdasarkan data pelatihan kita:
// Training a binary classification modelCREATEORREPLACE SNOWFLAKE.ML.CLASSIFICATION model_binary(
INPUT_DATA => SYSTEM$REFERENCE('view','binary_classification_view'),
TARGET_COLNAME =>'label');Didukung oleh
Untuk melakukan klasifikasi, gunakan metode PREDICT:
// Performing prediction using PREDICT methodSELECT model_binary!PREDICT(INPUT_DATA => {*})AS prediction FROM prediction_purchase_data;Didukung oleh
Berikut tampilan prediksinya:
Untuk memformatnya dengan rapi, gunakan pernyataan SQL ini:
// Formatting SQL predictionsSELECT*, model_binary!PREDICT(INPUT_DATA => {*})AS predictions FROM prediction_purchase_data;Didukung oleh
Anda akan mendapatkan format keluaran yang rapi untuk prediksi seperti ini:
3. Top insights
Top Insights adalah alat pemantauan untuk mencari fluktuasi metrik Anda dari waktu ke waktu melalui analisis deret waktu. Dengan model decision tree, Top Insights dapat mengidentifikasi faktor penyumbang paling signifikan terhadap peningkatan atau penurunan metrik tertentu.
Mari lihat contoh analisis deret waktu menggunakan fungsi ini.
Selanjutnya, kita harus membuat objek model untuk prediksi. Ini diperlukan untuk mengakses metode GET_DRIVERS.
// Creating the modelCREATEORREPLACE SNOWFLAKE.ML.TOP_INSIGHTS my_insights_model()Didukung oleh
Terakhir, untuk prediksi, panggil metode GET_DRIVERS.
// Performing prediction using GET_DRIVERS methodCALL my_insights_model!GET_DRIVERS(
INPUT_DATA =>TABLE(input_view),
LABEL_COLNAME =>'label',
METRIC_COLNAME =>'metric');Didukung oleh
Ini akan memberikan hasil berikut:
4. Peramalan
Peramalan sangat penting saat Anda perlu memprediksi nilai di masa depan berdasarkan data historis. Baik itu peramalan penjualan, memprediksi konsumsi energi, atau peramalan lalu lintas web, fungsi bawaan Snowflake membuat tugas ini jauh lebih sederhana.
Untuk contoh kita, mari lihat bagaimana melakukan peramalan pada satu seri:
Selanjutnya, mari pisahkan data pelatihan dari dataset.
// Creating a view for training dataCREATEORREPLACEVIEW v1 ASSELECTdate, sales
FROM sales_data WHERE store_id=1AND item='jacket';SELECT*FROM v1;Didukung oleh
Sebelum Anda dapat memulai peramalan, Anda perlu melatih model berdasarkan data pelatihan yang telah Anda pilih.
Berikut cara melakukannya:
// Training a forecasting modelCREATE SNOWFLAKE.ML.FORECAST model1(
INPUT_DATA =>TABLE(v1),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');Didukung oleh
Terakhir, untuk peramalan, Anda dapat memanggil metode FORECAST untuk melakukan langkah prediksi.
// Performing the forecast by calling the FORECAST methodcall model1!FORECAST(FORECASTING_PERIODS =>5);Didukung oleh
Berikut keluaran hasil peramalan kita.
Memantau Model ML di Snowflake
Pemantauan performa model dapat dilakukan dengan membuat dasbor di Snowflake menggunakan integrasi pihak ketiga (seperti Tableau) atau melakukan query pada log Snowflake. Beberapa metrik berguna seperti akurasi, presisi, dan recall dapat digunakan untuk melacak model.
Kesimpulan
Snowflake Cortex AI menyederhanakan machine learning dengan memungkinkan integrasi mulus model dari platform Snowflake. Tutorial ini memandu Anda menggunakan fungsi Snowflake Cortex AI dan Snowflake Cortex ML.
Solusi ini memanfaatkan skalabilitas Snowflake dan fleksibilitas Python, menjadikannya ideal bagi organisasi yang ingin menerapkan machine learning tanpa memindahkan data keluar dari cloud.
Machine Learning dengan Python & Snowflake Cortex: FAQ
Apakah Python bagus untuk machine learning dan AI?⌄
Python bagus untuk machine learning dan AI karena pustaka-pustaka andalnya seperti PyTorch, TensorFlow, dan Keras. Fungsi AI dan ML Snowflake juga dapat diakses melalui Python.
Bagaimana cara menggunakan Python untuk AI dan machine learning?⌄
Python dapat digunakan untuk AI dan machine learning melalui pustaka bawaan atau melalui fungsi LLM dan ML Snowflake.
Bagaimana cara menggunakan fungsi berbasis ML Snowflake Cortex?⌄
Fungsi berbasis ML Snowflake Cortex dapat digunakan dengan memanggil metode masing-masing fungsi menggunakan SQL.
Apa itu model AI Snowflake?⌄
Model AI Snowflake adalah large language model yang mendukung Snowflake Cortex dan fungsi-fungsinya.
Apa saja contoh machine learning Snowflake?⌄
Fungsi machine learning Snowflake dapat diterapkan pada berbagai aplikasi seperti deteksi anomali, peramalan, mendapatkan top insights, dan klasifikasi.
Saya Austin, seorang blogger dan penulis teknologi dengan pengalaman bertahun-tahun sebagai data scientist dan analis data di bidang kesehatan. Memulai perjalanan teknologi dengan latar belakang biologi, kini saya membantu orang lain melakukan transisi yang sama melalui blog teknologi saya. Ketertarikan saya pada teknologi mendorong kontribusi tulisan saya untuk puluhan perusahaan SaaS, menginspirasi orang lain dan membagikan pengalaman saya.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Pelatihan model AI berkembang pesat sebagai salah satu potensi penerapan AI dalam data science. Lebih khusus lagi, machine learning dapat dilakukan menggunakan Snowflake Cortex AI.
Dalam panduan ini, kami akan membahas apa itu Snowflake Cortex AI dan apa yang dapat dilakukannya. Selain itu, kami akan memberikan tutorial sederhana tentang cara memulai machine learning dan AI menggunakan Python dan sedikit SQL. Jika Anda baru mengenal Snowflake, lihat kursus Introduction to Snowflake kami untuk mengejar ketertinggalan.
Apa itu Snowflake Cortex AI?
Snowflake Cortex AI adalah fitur andal yang terintegrasi ke dalam Snowflake AI Data Cloud, dirancang untuk memfasilitasi operasi machine learning (ML) langsung di dalam lingkungan Snowflake.
Fitur ini memungkinkan integrasi mulus model ML Python dengan data Snowflake, sehingga organisasi dapat memperoleh insight, prediksi, dan analitik lanjutan dari kumpulan data besar sambil memanfaatkan infrastruktur cloud.
Sumber: Snowflake Cortex AI
Fitur-fitur utama Snowflake Cortex AI:
Snowflake Cortex terdiri dari dua bagian utama—fungsi LLM dan fungsi ML.
Untuk fungsi LLM, Anda memiliki:
Kami akan melihat setiap fungsi secara lebih rinci di bagian bawah nanti.
Untuk fungsi ML, Anda memiliki:
Ingin tahu di mana belajar Snowflake dan fungsinya? Tutorial Snowflake untuk pemula dan panduan sertifikasi Snowflake kami akan membantu Anda.
Mengapa Menggunakan Snowflake Cortex AI dengan Python?
Sekarang mari kita lihat manfaat menggunakan kedua alat ini bersama-sama.
Keunggulan menggabungkan Snowflake Cortex AI dengan Python
Beberapa manfaat utama menggunakan Snowflake Cortex AI adalah:
Kasus penggunaan dan aplikasi
Pertama, Snowflake Cortex AI sangat cocok bagi bisnis yang ingin meningkatkan kapabilitas data science tanpa investasi sumber daya yang signifikan. Dengan lingkungan no-code, bahkan pengguna non-teknis dapat dengan mudah mengembangkan dan menerapkan model ML.
Ini sangat berguna untuk bisnis kecil atau startup yang mungkin tidak memiliki anggaran untuk merekrut tim data scientist atau berinvestasi pada LLM yang mahal.
Kedua, dengan mengintegrasikan Python ke dalam lingkungan komputasi Snowflake, pengguna dapat memanfaatkan pustaka algoritme dan alat machine learning Python yang sangat luas. Artinya, mereka dapat membuat model yang lebih canggih dan akurat tanpa harus mempelajari bahasa pemrograman baru.
Terakhir, perusahaan yang sudah mengadopsi lingkungan Snowflake akan merasakan manfaat penuh Cortex AI karena integrasinya mulus dengan gudang data yang ada, sehingga tidak perlu infrastruktur tambahan atau migrasi data.
Dengan Snowflake Cortex AI, perusahaan dapat menerapkan machine learning ke dalam proses bisnis mereka secara mudah dan efisien.
Memulai dengan Snowflake Cortex AI
Dalam tutorial ini, kami akan menelusuri proses menyiapkan pipeline machine learning menggunakan Python dan Snowflake Cortex AI.
Prasyarat
Sebelum Anda mulai mengerjakan ML dengan Snowflake Cortex AI, pastikan Anda memenuhi persyaratan berikut:
Menyiapkan akun Snowflake
Pertama, Anda memerlukan instance Snowflake tempat data Anda disimpan dan diproses. Anda dapat mendaftar di situs web Snowflake.
Pada formulir pendaftaran, isi semua detail akun Anda dan pastikan membuat pilihan berikut pada halaman kedua. Pilih edisi Standard untuk tutorial ini dan Amazon Web Services demi kesederhanaan dan reprodusibilitas. Untuk server, pilih US West (Oregon) untuk pilihan fungsi LLM terbaik yang tersedia.
Setelah Anda memilih opsi-opsi tersebut, klik Get Started untuk menerima email aktivasi. Buka email Anda untuk mengaktifkan akun, dan akun Snowflake Anda siap digunakan.
Persyaratan perangkat lunak
Selanjutnya, Anda juga perlu memenuhi beberapa persyaratan lain untuk perangkat lunak.
Berikut daftar sederhana yang perlu disiapkan:
Sebelum memulai analisis, instal semua paket yang relevan agar lingkungan pengodean Anda siap.
Untuk memasang paket yang diperlukan, Anda dapat menggunakan pip:
Setelah Anda menginstal pustaka, Anda perlu menyiapkan folder kerja dan file untuk memulai.
Saya membuat folder bernama Cortex AI Tutorial dan menyertakan file
.envbaru yang berisi informasi berikut:Setelah memasukkan informasi akun Anda, simpan file dan buat file Python atau Jupyter Notebook di folder yang sama.
Menyambungkan ke Snowflake
Sekarang semuanya sudah siap, mari hubungkan lingkungan Python Anda ke Snowflake.
Untuk memulai, buka file Python Anda dan impor semua pustaka yang diperlukan. Berikut kodenya:
Selanjutnya, Anda harus memuat variabel yang Anda simpan di file .env yang Anda simpan sebelumnya. Ini akan memberikan kredensial akun Anda ke Snowflake untuk masuk dan menggunakan fungsinya.
Setelah Anda tersambung menggunakan variabel tersebut, Anda perlu menyiapkan sesi Snowflake. Ini adalah objek yang akan menangani semua permintaan Anda.
Fungsi LLM Snowflake Cortex AI
Fungsi LLM dalam Cortex AI memungkinkan pengguna memanfaatkan potensi LLM tanpa perlu mengembangkan model AI sendiri.
Fungsi-fungsi ini membantu pengguna analitik pada umumnya dengan analisis bertenaga AI melalui beberapa tugas dasar.
Berikut fungsi-fungsi yang dimiliki Snowflake Cortex:
1. SUMMARIZE
Fungsi summarize digunakan untuk menghasilkan ringkasan data berdasarkan masukan yang diberikan.
Fungsi ini menggunakan LLM untuk mengidentifikasi informasi kunci dan menyajikannya dalam format yang ringkas.
Misalnya, jika Anda memiliki dokumen teks panjang dan menginginkan ikhtisar cepat dari isinya, Anda dapat menggunakan fungsi summarize untuk mendapatkan ringkasan singkat yang menangkap poin-poin penting. Ini menghemat waktu dan memungkinkan analisis lebih cepat atas sejumlah besar data.
Bahasa input saat ini terbatas pada bahasa Inggris pada saat artikel ini ditulis.
Lihat kode di bawah sebagai referensi:
2. TRANSLATE
Fungsi translate digunakan untuk mengonversi teks dari satu bahasa ke bahasa lain.
Fungsi ini memanfaatkan algoritme machine learning dan model statistik untuk menerjemahkan teks secara akurat.
Ini berguna saat bekerja dengan data atau dokumen dalam bahasa berbeda, karena memungkinkan komunikasi dan pemahaman yang lebih mudah.
Misalnya, jika Anda memiliki laporan yang ditulis dalam bahasa Spanyol dan perlu menyajikannya kepada audiens berbahasa Inggris, Anda dapat menggunakan fungsi translate untuk cepat mengonversi teks. Ini menghilangkan kebutuhan terjemahan manual dan menghemat waktu.
Lihat kode di bawah sebagai referensi:
3. COMPLETE
Fungsi complete adalah fungsi serba bisa yang dapat digunakan untuk menjalankan tugas tertentu. Ini dilakukan melalui penggunaan prompt kalimat yang memandu model AI dalam memberikan informasi yang diperlukan untuk mengeksekusi sebuah tugas.
Lihat kode di bawah sebagai referensi:
4. EXTRACT_ANSWER
Fungsi extract answer memberikan jawaban berdasarkan pertanyaan yang diajukan ke model. Input harus dalam bahasa Inggris dalam format string atau JSON.
Lihat kode di bawah sebagai referensi:
5. SENTIMENT
Fungsi sentiment memberikan angka kuantitatif berdasarkan sentimen teks yang diberikan. Fungsi ini menghasilkan nilai antara -1 hingga 1. Nilai -1 paling negatif, 1 paling positif, dan nilai sekitar 0 bersifat netral.
Lihat kode di bawah sebagai referensi:
6. EMBED_TEXT
Fungsi embed text mencakup fungsi
EMBED_TEXT_768danEMBED_TEXT_1024. Keduanya membuat embedding vektor berdimensi 768 dan 1024 secara berturut-turut.Lihat kode di bawah sebagai referensi untuk fungsi
EMBED_TEXT_768:Sekarang mari kita satukan semuanya dalam fungsi utama dan jalankan pada teks contoh untuk melihat hasilnya.
Saya menggunakan potongan teks sederhana dan pendek untuk dimasukkan ke dalam model, seperti di bawah ini:
Agar mudah disalin-tempel, berikut teksnya:
Sekarang, mari jalankan kodenya. Seharusnya hanya memakan waktu beberapa detik.
Berikut hasilnya:
Seperti yang Anda lihat, AI memberikan semua hasil yang kami butuhkan berdasarkan teks yang kami berikan. AI memberikan ringkasan, menerjemahkan teks saya ke bahasa Korea, memberikan tiga kata kunci berdasarkan teks saya, dan memberikan beberapa jawaban berdasarkan pertanyaan saya.
Fungsi Machine Learning Snowflake Cortex AI
Cortex AI juga memiliki fungsi ML yang dapat dijalankan hanya dengan SQL. Berikut beberapa fungsi yang disediakannya.
1. Deteksi anomali
Deteksi anomali penting untuk mengidentifikasi pola tidak biasa yang tidak sesuai dengan perilaku data yang diharapkan. Snowflake menyederhanakan deteksi anomali dengan menyediakan fungsi machine learning bawaan berbasis gradient boosting machine (GBM) yang memungkinkan Anda cepat mengidentifikasi outlier dalam dataset.
Deteksi anomali sangat berguna untuk tugas seperti:
Untuk melakukan deteksi anomali, kelas Snowflake ANOMALY_DETECTION (SNOWFLAKE.ML) dapat digunakan. Perintah ini membuat objek model deteksi anomali. Langkah ini menyesuaikan model Anda dengan data pelatihan.
Berikut cara menggunakannya:
Setelah Anda membuat objeknya, Anda dapat menggunakan metode <model_name>!DETECT_ANOMALIES untuk melakukan deteksi anomali,
Ini adalah langkah prediksi sebenarnya di mana outlier akan dideteksi menggunakan metode tersebut.
Berikut contoh bagaimana deteksi anomali dapat dilakukan menggunakan sebuah dataset.
Pertama, Anda dapat membuat database dengan masuk ke Data pada tab kiri, lalu Add Data, diikuti Load data into a Table.
Di jendela yang muncul, klik + Database dan beri nama database Anda. Klik Create, lalu di jendela popup utama, klik Cancel.
Ini akan membuat database kosong yang dapat Anda gunakan.
Contoh di bawah ini diadaptasi dari Dokumentasi Snowflake.
Untuk memulai deteksi anomali, buka lembar kerja SQL baru, pilih database baru Anda sebagai sumber data, dan tempel kode berikut untuk membuat tabel:
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);
Kode Anda harus dimasukkan ke dalam lembar kerja SQL yang terlihat seperti ini:
Ini diikuti dengan pernyataan berikut untuk membuat tabel bernama
new_sales_data.Sekarang, buat model deteksi anomali:
Ini akan menghasilkan pernyataan bahwa sebuah model telah dibuat seperti yang ditunjukkan di bawah.
Berikutnya, mari gunakan objek model untuk melakukan deteksi.
Berikut output deteksinya:
2. Klasifikasi
Klasifikasi melibatkan pengelompokan data ke kelas yang telah ditentukan. Dengan Snowflake, Anda dapat mengklasifikasikan data langsung dari dalam Snowflake, menghilangkan kebutuhan ekspor data ke lingkungan ML eksternal.
Untuk memulai, buat dataset contoh menggunakan kode berikut:
Untuk keperluan data pelatihan, mari buat view baru.
View ini akan menghasilkan keluaran berikut:
Selanjutnya, mari latih model berdasarkan data pelatihan kita:
Untuk melakukan klasifikasi, gunakan metode
PREDICT:Berikut tampilan prediksinya:
Untuk memformatnya dengan rapi, gunakan pernyataan SQL ini:
Anda akan mendapatkan format keluaran yang rapi untuk prediksi seperti ini:
3. Top insights
Top Insights adalah alat pemantauan untuk mencari fluktuasi metrik Anda dari waktu ke waktu melalui analisis deret waktu. Dengan model decision tree, Top Insights dapat mengidentifikasi faktor penyumbang paling signifikan terhadap peningkatan atau penurunan metrik tertentu.
Mari lihat contoh analisis deret waktu menggunakan fungsi ini.
Pertama, mari buat dataset:
Selanjutnya, kita harus membuat objek model untuk prediksi. Ini diperlukan untuk mengakses metode
GET_DRIVERS.Terakhir, untuk prediksi, panggil metode GET_DRIVERS.
Ini akan memberikan hasil berikut:
4. Peramalan
Peramalan sangat penting saat Anda perlu memprediksi nilai di masa depan berdasarkan data historis. Baik itu peramalan penjualan, memprediksi konsumsi energi, atau peramalan lalu lintas web, fungsi bawaan Snowflake membuat tugas ini jauh lebih sederhana.
Untuk contoh kita, mari lihat bagaimana melakukan peramalan pada satu seri:
Selanjutnya, mari pisahkan data pelatihan dari dataset.
Sebelum Anda dapat memulai peramalan, Anda perlu melatih model berdasarkan data pelatihan yang telah Anda pilih.
Berikut cara melakukannya:
Terakhir, untuk peramalan, Anda dapat memanggil metode FORECAST untuk melakukan langkah prediksi.
Berikut keluaran hasil peramalan kita.
Memantau Model ML di Snowflake
Pemantauan performa model dapat dilakukan dengan membuat dasbor di Snowflake menggunakan integrasi pihak ketiga (seperti Tableau) atau melakukan query pada log Snowflake. Beberapa metrik berguna seperti akurasi, presisi, dan recall dapat digunakan untuk melacak model.
Kesimpulan
Snowflake Cortex AI menyederhanakan machine learning dengan memungkinkan integrasi mulus model dari platform Snowflake. Tutorial ini memandu Anda menggunakan fungsi Snowflake Cortex AI dan Snowflake Cortex ML.
Solusi ini memanfaatkan skalabilitas Snowflake dan fleksibilitas Python, menjadikannya ideal bagi organisasi yang ingin menerapkan machine learning tanpa memindahkan data keluar dari cloud.
Mencari lebih banyak sumber daya tentang Snowflake? Anda akan menyukai Snowflake Beginner Tutorial kami dan panduan Snowpark kami. Jika Anda mencari sesuatu yang lebih komprehensif, maka kursus Introduction to Snowflake mungkin tepat untuk Anda.