• Tidak ada hasil yang ditemukan

Kerangka dan Pustaka

N/A
N/A
loydobukko

Academic year: 2024

Membagikan " Kerangka dan Pustaka"

Copied!
99
0
0

Teks penuh

(1)

ALGORITMA

DEEP LEARNING

PERTEMUAN KE 3 – FRAMEWORK DAN LIBRARY

D E E P L E A R N I N G

(2)

R P

S Pycaret

0 5 0 1 CUDA

Keras

0 2

TensorFlow

0 3

pyTorch

0 4

Huggingface

1 0

LangChain

0 6

Docker

0 7

RAPIDS

0 8

Triton

0 9

(3)

Framework dan Library

Framework

Struktur dasar dan tool untuk membangun model deep learning

Library

Kumpulan fungsi dan algoritma yang siap pakai untuk deep learning

(4)

Framework dan Library

Menggunakan framework dan library deep learning memberikan berbagai keuntungan, seperti efisiensi waktu, kode yang lebih terstruktur, dan akses ke algoritma dan fitur yang sudah dioptimalkan.

1 Efisiensi Waktu

Tidak perlu membangun semua komponen dari awal

2 Kode yang

Terstruktur

Framework menyediakan struktur dasar dan guideline untuk kode yang lebih rapi

3 Akses ke Fitur dan Algoritma

Framework dan library menyediakan berbagai algoritma dan fitur yang sudah dioptimalkan

(5)

Tepat Sesuai Kebutuhan

Memilih framework deep learning yang tepat bergantung pada kebutuhan proyek, sumber daya yang tersedia, dan keahlian tim.

Skala Proyek

TensorFlow ideal untuk proyek skala besar

Kemudahan Penggunaan

Keras cocok untuk pemula dan proyek sederhana

Fleksibilitas dan Penelitian

PyTorch cocok untuk penelitian dan pengembangan

(6)

CUDA

Compute Unified Device Architecture

01

(7)

CUDA

CUDA (Compute Unified Device Architecture) adalah arsitektur komputasi paralel yang dikembangkan oleh NVIDIA.

CUDA memungkinkan programmer untuk memanfaatkan kemampuan

pemrosesan paralel GPU untuk mempercepat aplikasi yang intensif

komputasi.

(8)

KEUNGGULAN CUDA DALAM DEEP LEARNING

CUDA menawarkan beberapa keuntungan signifikan dalam deep learning, termasuk peningkatan kinerja dan efisiensi. CUDA memungkinkan programmer untuk

memanfaatkan kemampuan pemrosesan paralel GPU untuk mempercepat pelatihan model deep learning.

Peningkatan Kinerja

CUDA memungkinkan eksekusi paralel ribuan thread, mempercepat pelatihan model secara signifikan.

01

Efisiensi Energi

GPU yang didorong oleh CUDA lebih

efisien energi dibandingkan dengan

CPU, mengurangi biaya komputasi.

02

Kemampuan Skalabilitas Arsitektur CUDA

memungkinkan penggunaan beberapa

GPU, meningkatkan kemampuan komputasi

untuk model deep learning yang besar.

03

(9)

Tambahkan variabel lingkungan yang diperlukan untuk memungkinkan CUDA diidentifikasi oleh sistem.

Konfigurasi Variabel Lingkungan

Jalankan contoh kode CUDA untuk

memverifikasi instalasi dan memastikan CUDA bekerja dengan benar.

Verifikasi Instalasi

Unduh toolkit CUDA yang sesuai untuk sistem operasi dan kartu grafis

Unduh Toolkit CUDA

Jalankan penginstal CUDA dan ikuti petunjuk di layar untuk menyelesaikan instalasi

Instal Toolkit CUDA

Menginstal CUDA melibatkan unduhan dan pemasangan toolkit CUDA dari situs web NVIDIA. Proses ini biasanya melibatkan konfigurasi driver GPU dan penambahan variabel lingkungan untuk mengaktifkan CUDA.

0 1

0

2 0 0 3

4

(10)

Python

CUDA dapat diintegrasikan dengan Python melalui pustaka seperti PyCUDA dan Numba.

C++

CUDA dapat diintegrasikan secara langsung dengan C++ menggunakan CUDA Runtime API dan CUDA Driver API.

Fortran

CUDA dapat diintegrasikan dengan Fortran untuk mempercepat tugas komputasi intensif dalam aplikasi ilmu pengetahuan dan teknik.

01 02 03

Integrasi CUDA dengan Bahasa Pemrograman

CUDA dapat diintegrasikan dengan berbagai bahasa pemrograman, termasuk Python, C++, dan Fortran. Integrasi ini memungkinkan programmer untuk memanfaatkan kemampuan CUDA untuk mempercepat tugas deep learning.

(11)

Beberapa pustaka deep learning populer diintegrasikan dengan CUDA, memungkinkan pelatihan model yang efisien dan cepat. Pustaka ini

menyediakan antarmuka tingkat tinggi untuk memanfaatkan kemampuan CUDA.

(12)

Definisi Model

TENSORFLOW ADALAH PUSTAKA DEEP LEARNING YANG POPULER YANG DIINTEGRASIKAN DENGAN CUDA.

TENSORFLOW MEMUNGKINKAN PROGRAMMER UNTUK MENENTUKAN DAN MELATIH MODEL DEEP LEARNING PADA GPU, MEMPERCEPAT PROSES PELATIHAN.

BERBASIS CUDA

TensorFlow memungkinkan programmer untuk mendefinisikan model deep learning

menggunakan lapisan dan operasi.

01

Pelatihan Model

TensorFlow memanfaatkan CUDA untuk mempercepat pelatihan model pada GPU.

Evaluasi Model

TensorFlow menyediakan alat untuk mengevaluasi performa model pada data uji.

Penyebaran Model

TensorFlow mendukung penyebaran model yang dilatih pada perangkat keras yang berbeda, termasuk CPU dan GPU.

02 03

04

(13)

03

PyTorch memiliki antarmuka yang ramah pengguna dan mudah dipelajari.

Kemudahan Penggunaan

04

PyTorch memungkinkan pengembangan dan eksperimen model yang cepat.

Pengembangan yang Cepat 01

PyTorch memungkinkan programmer untuk mengubah graf komputasi secara dinamis selama pelatihan.

Graf Komputasi Dinamis

02

PyTorch memanfaatkan CUDA untuk pelatihan model yang cepat dan efisien.

Akselerasi GPU

PYTORCH ADALAH PUSTAKA DEEP LEARNING YANG DIKENAL KARENA FLEKSIBILITAS DAN KEMUDAHAN PENGGUNAANNYA. PYTORCH MEMANFAATKAN CUDA UNTUK MEMPERCEPAT PELATIHAN MODEL DEEP

LEARNING PADA GPU, MENINGKATKAN KECEPATAN DAN EFISIENSI.

(14)

Tensorflow

02

(15)

Tensorflow: Arsitektur dan Fitur Utama

TensorFlow adalah framework deep learning yang dikembangkan oleh Google dan berfokus pada skala besar, komputasi terdistribusi, dan optimasi kinerja.

Arsitektur

TensorFlow menggunakan graf komputasi untuk mendefinisikan aliran data dan operasi matematika.

Fitur Utama

TensorFlow memiliki banyak fitur, termasuk dukungan untuk CPU dan GPU, optimasi kinerja, dan kemampuan untuk mendeploy model di berbagai platform.

(16)

Sejarah dan Perkembangan TensorFlow

1 Awal Mula

TensorFlow bermula di Google Brain pada tahun 2011, dan awalnya dikenal sebagai DistBelief.

2 Rilis Pertama

TensorFlow dirilis sebagai proyek sumber terbuka pada tahun 2015, dengan fokus pada deep learning.

3 Perkembangan Terus-Menerus

TensorFlow terus berkembang dengan fitur-fitur baru, seperti TensorFlow Lite dan TensorFlow.js, untuk aplikasi mobile dan web.

(17)

Konsep Dasar TensorFlow: Grafik Komputasi

Grafik Komputasi

TensorFlow menggunakan model grafik komputasi untuk memodelkan operasi dan alur data.

Node

Node dalam grafik merepresentasikan operasi, seperti operasi matematika atau fungsi aktivasi.

Edge

Edge merepresentasikan data yang mengalir antara node dalam bentuk tensor.

(18)

Struktur dan Komponen TensorFlow

1 Tensor

Tensor adalah unit dasar data dalam TensorFlow, yang dapat berupa skalar, vektor, matriks, atau tensor berdimensi tinggi.

2 Operator

Operator adalah fungsi yang memproses tensor dan melakukan operasi matematika atau logika.

3 Grafik Komputasi

Grafik komputasi

merepresentasikan alur operasi dan data dalam program TensorFlow.

4 Sesi

Sesi adalah konteks

eksekusi untuk menjalankan grafik komputasi dan

menghasilkan output.

(19)

Arsitektur TensorFlow

Memproses ulang data

Membangun model Melatih dan

memperkirakan model

(20)

Import or generate datasets Transform and normalize data

Partition datasets into train, and validation sets Set algorithm parameters (hyperparameters) Initialize variables and placeholders

Define the model structure Declare the loss functions Initialize and train the model Evaluate the model

Tune hyperparameters

Deploy/predict new outcomes

(21)

Skenario

Umum Di

Tensorflow

(22)

Hierarki

Toolkit

Tensorflow

(23)

Kelebihan TF

Cepat

Fleksibel

Siap Produksi

(24)

4 Komponen Computional Graph Terkait Tensorflow (Lu Yifei, 2017)

Ope rati on s Suatu operasi dapat

memperoleh nol atau banyak input kemudian menghasilkan nol atau banyak output. Operasi semacam itu dapat berupa persamaan matematika, konstanta atau variabel.

T ens ors

Dalam

tensorflow, data diwakili oleh tensor yang mengalir antara node dalam grafik

komputasi.

Tensor adalah array multi

dimensi dengan tipe statis dan dimensi

dinamis. Jumlah dimensi suatu tensor disebut pangkatnya.

V ariables

Di seluruh evaluasi pelatihan, sebagian besar tensor tidak bertahan

sedangkan kondisi model seperti

bobot dan bias perlu

dipertahankan.

Karenanya variabel ditambahkan ke grafik komputasi sebagai operasi khusus. Variabel menghemat tensor yang disimpan secara terus- menerus dalam buffer memori.

Ses sion s Eksekusi operasi dan evaluasi tensor dilakukan dalam konteks sesi. Sesi menggunakan Run rutin sebagai entri untuk mengeksekusi grafik komputasi.

Dengan invocation run, input

dimasukkan ke dalam proses komputasi seluruh grafik untuk

mengembalikan

output sesuai

dengan definisi

grafik. Grafik

perhitungan akan

dieksekusi berulang

kali untuk melatih

jaringan dengan

menjalankan Run

rutin.

(25)

Arsitektur Neural Network dengan TensorFlow

Multilayer Perceptron (MLP)

Arsitektur neural network klasik dengan beberapa lapisan tersembunyi.

Convolutional Neural Network (CNN)

Sangat efektif untuk pengolahan citra dan pengenalan pola spasial.

Recurrent Neural Network (RNN)

Didesain untuk menangani data sekuensial, seperti teks dan audio.

Transformer Network

Berfokus pada perhatian, sangat cocok untuk pemrosesan bahasa alami.

(26)

Teknik Optimisasi dan Regularisasi

Gradient Descent

Algoritma optimasi yang umum digunakan untuk meminimalkan fungsi loss.

Regularisasi

Teknik untuk mencegah overfitting dengan

menambahkan penalti pada parameter model.

Early Stopping

Mencegah overfitting dengan menghentikan pelatihan ketika performanya pada data validasi menurun.

Dropout

Teknik untuk mengurangi overfitting dengan secara acak menonaktifkan beberapa neuron selama pelatihan.

(27)

Perbandingan TensorFlow dengan Kerangka Kerja Lain

TensorFlow memiliki banyak keunggulan dibandingkan kerangka kerja lain, seperti PyTorch dan Keras, dalam hal skalabilitas, fleksibilitas, dan komunitas yang besar.

(28)

KERAS

03

(29)

Dengan menggunakan Keras kita bisa melakukan semua itu dengan relatif lebih cepat dari pada ‘pure’

TensorFlow.

Karena jika dibandingkan dengan Keras,

TensorFlow serasa lebih “low level” meskipun sudah ada tf.layer yang baru.

Keras sebenarnya adalah wrapper dari TensorFlow untuk lebih memudahkan kita lagi.

Tidak hanya TensorFlow saja yang disupport, tapi kita bisa mengganti backend yang akan kita

gunakan.

(30)

Mengapa Keras?

Keras menyediakan berbagai keuntungan bagi pengembang, termasuk fleksibilitas dalam arsitektur model, kemudahan penggunaan, dan dukungan untuk GPU. Keras memungkinkan pengembang untuk membangun dan melatih model dengan cepat dan efisien.

1 Antarmuka Sederhana

Keras menawarkan antarmuka yang mudah dipelajari dan digunakan, membuat

pengembangan model deep learning lebih mudah diakses.

2 Fleksibilitas

Keras mendukung berbagai arsitektur jaringan saraf, memungkinkan pengembang untuk menyesuaikan model sesuai kebutuhan.

3 Kecepatan & Efisiensi

Keras dioptimalkan untuk kinerja, memungkinkan pelatihan model yang cepat dan efisien, bahkan pada perangkat keras yang terbatas.

(31)

Keras mengikuti arsitektur model deep learning modular yang memungkinkan pengembang untuk dengan mudah membangun dan menghubungkan berbagai lapisan.

1

Lapisan Input

Lapisan input menerima data mentah sebagai input, yang akan diproses oleh model.

2

Lapisan Tersembunyi

Lapisan tersembunyi melakukan ekstraksi fitur dan transformasi data untuk mempelajari representasi yang lebih kompleks.

3

Lapisan Output

Lapisan output menghasilkan prediksi model berdasarkan data yang telah diproses melalui lapisan tersembunyi.

(32)

Model Keras

Keras menyediakan berbagai model yang telah dilatih sebelumnya, yang dapat digunakan untuk berbagai tugas pembelajaran mesin seperti klasifikasi gambar dan pemrosesan bahasa alami.

Sequential

Model Sequential memungkinkan pengembang untuk membangun model dengan lapisan yang disusun secara berurutan.

Functional

Model Functional memungkinkan pengembang untuk membangun arsitektur yang lebih kompleks dengan koneksi lapisan yang lebih fleksibel.

(33)

Lapisan Keras

Lapisan Keras adalah blok bangunan utama model deep learning, yang melakukan operasi komputasi khusus pada data input.

Lapisan Dense

Lapisan Dense menerapkan fungsi aktivasi ke data input, yang

menghasilkan output yang lebih kompleks.

Lapisan Convolutional

Lapisan Convolutional digunakan untuk mengekstraksi fitur spasial dari data gambar.

Lapisan Recurrent

Lapisan Recurrent dirancang untuk memproses data urutan seperti teks dan data audio.

(34)

Kompilasi dan Pelatihan

Setelah membangun model, model perlu dikompilasi dan dilatih dengan data yang diberikan untuk mengoptimalkan parameternya.

Kompilasi

Proses kompilasi menentukan optimizer, fungsi kerugian, dan metrik yang akan digunakan selama pelatihan.

Pelatihan

Model dilatih dengan data pelatihan untuk

mengoptimalkan parameter model dan meningkatkan performanya.

(35)

Evaluasi Model

Setelah pelatihan, model perlu dievaluasi menggunakan data uji untuk menilai performanya dan mengidentifikasi potensi kekurangan.

Akurasi Persentase prediksi yang benar.

Presisi Persentase prediksi positif yang

benar.

Recall Persentase instance positif

yang diprediksi dengan benar.

Loss Ukuran kesalahan model

selama pelatihan.

(36)

Penyimpanan dan Pemuatan Model

Model yang telah dilatih dapat disimpan untuk digunakan kembali di kemudian hari atau dibagikan dengan orang lain.

Penyimpanan

Model yang telah dilatih dapat disimpan dalam format file untuk digunakan kembali di kemudian hari.

Pemuatan

Model yang telah disimpan dapat dimuat dan digunakan kembali untuk membuat prediksi tanpa harus melatih ulang model.

(37)

Hyperparameter

Hyperparameter adalah parameter yang mengontrol proses pelatihan model dan dapat memengaruhi kinerja model.

1 Learning Rate

Learning Rate menentukan seberapa banyak model menyesuaikan

parameternya pada setiap langkah pelatihan.

2 Batch Size

Batch Size menentukan berapa banyak contoh data yang diproses pada setiap langkah pelatihan.

3 Epochs

Epochs menentukan berapa kali model melihat seluruh dataset pelatihan selama pelatihan.

(38)

Aplikasi Keras dalam Deep Learning

Keras digunakan secara luas dalam berbagai aplikasi deep learning, termasuk pengenalan gambar, pemrosesan bahasa alami, dan rekomendasi.

Pengenalan Objek

Keras digunakan untuk membangun model yang dapat mengenali objek dalam gambar atau video.

Pemrosesan Bahasa Alami

Keras digunakan untuk membangun model yang dapat memahami dan memproses bahasa manusia, seperti chatbot.

(39)

Contoh

Melakukan regresi terhadap sebuah fungsi non- linear seperti berikut :

𝑓 𝑥 = 2𝑥 2 + 1

(40)

import numpy as np

import matplotlib.pylab as plt import tensorflow as tf

from keras.models import Model, Sequential

from keras.layers import Input, Activation, Dense from keras.optimizers import SGD

# Generate data from -20, -19.75, -19.5, .... , 20 train_x = np.arange(-20, 20, 0.25)

# Calculate Target : sqrt(2x^2+1) train_y= np.sqrt((2*train_x**2)+1)

inputs = Input(shape=(1,)) h_layer = Dense(8,

activation='relu')(inputs) h_layer = Dense(4, activation='relu')(h_layer) outputs = Dense(1,

activation='linear')(h_layer) model = Model(inputs=inputs, outputs=outputs)

# Optimizer / Update Rule sgd = SGD(lr=0.001)

# Compile the model with Mean Squared Error Loss model.compile(optimizer=sgd,

loss='mse')

(41)

Code (LANJ)

# Train the network and save the weights after training model.fit(train_x, train_y, batch_size=20, epochs=10000, verbose=1)

model.save_weights('weights.h5')

# Predict training data

predict = model.predict(np.array([26])) print('f(26) = ', predict)

predict_y = model.predict(train_x)

# Draw target vs prediction

plt.plot(train_x, train_y, 'r')

plt.plot(train_x, predict_y, 'b')

plt.show()

(42)

OUTPUT

(43)

PYTORCH

04

(44)

PyTorch

PyTorch menawarkan fleksibilitas tinggi untuk penelitian dan pengembangan.

1

Kemudahan Penggunaan

PyTorch memiliki API yang intuitif dan mudah dipelajari, yang membuatnya ideal untuk pemula dan pakar deep learning.

2

Performa Tinggi

PyTorch dioptimalkan untuk

kinerja tinggi, memungkinkan Anda melatih model secara efisien pada GPU dan CPU.

3

Dukungan Komunitas

PyTorch memiliki komunitas pengguna yang besar dan aktif, menyediakan banyak sumber daya dan dukungan untuk membantu Anda.

4

Fleksibilitas

PyTorch memberikan fleksibilitas dalam pengembangan model, memungkinkan Anda untuk dengan mudah menyesuaikan dan memperluas model sesuai

kebutuhan Anda.

(45)

Struktur Dasar PyTorch

PyTorch memiliki tiga komponen utama: Tensor, Autograd, dan nn.Module.

Tensor

Tensor adalah unit dasar data dalam PyTorch, mirip dengan array dalam NumPy.

Autograd

Autograd adalah sistem komputasi otomatis yang menghitung gradien secara efisien untuk pelatihan model.

nn.Module

nn.Module adalah kelas untuk

mendefinisikan arsitektur model deep learning.

(46)

Pelatihan Model dengan PyTorch

Proses pelatihan melibatkan pemberian data input ke model dan pembaruan parameter model untuk meminimalkan loss.

1

Langkah 1: Definisikan Model

Membuat instance model neural network menggunakan kelas nn.Module.

2

Langkah 2: Definisikan Loss Function

Memilih fungsi loss yang sesuai untuk mengukur kesalahan model.

3

Langkah 3: Definisikan Optimizer

Memilih optimizer untuk memperbarui parameter model selama pelatihan.

4

Langkah 4: Pelatihan

Memberikan data input ke model, menghitung loss, menghitung gradien, dan memperbarui parameter.

(47)

Model PyTorch dapat di-deploy untuk digunakan dalam aplikasi web, aplikasi mobile, dan sistem tertanam.

Deployment Cloud

Melakukan deployment model ke platform cloud seperti AWS,

Deployment Mobile

Mengintegrasikan model ke dalam aplikasi mobile

(48)

Perbandingan Kinerja: Tensorflow vs Keras vs PyTorch

Kinerja setiap framework dapat bervariasi tergantung pada jenis model, data, dan tugas yang dijalankan. Umumnya, TensorFlow memiliki kinerja terbaik untuk tugas skala besar, sedangkan PyTorch unggul dalam fleksibilitas dan penelitian.

TensorFlow

Kinerja terbaik untuk tugas skala besar

Keras

Kinerja yang baik untuk pengembangan model yang cepat

PyTorch

Kinerja yang baik untuk penelitian dan pengembangan

(49)

PYCARET

05

(50)

PyCaret

1

Kemudahan

Penggunaan

PyCaret menyediakan API yang ramah pengguna, sehingga dapat digunakan oleh data scientist dengan berbagai tingkat keahlian.

2

Alur Kerja Terpadu

Framework ini menggabungkan semua langkah dalam proses machine learning, mulai dari preprocessing hingga

deployment, dalam satu platform terpadu.

3

Efisiensi Waktu

PyCaret dapat membantu data scientist menghemat waktu dengan menyediakan fungsi yang otomatis dan terintegrasi untuk berbagai tugas machine learning.

4

Fleksibilitas

PyCaret memungkinkan pengguna untuk memilih dan menggabungkan berbagai model, algoritma, dan teknik yang sesuai dengan kebutuhan mereka.

(51)

Fitur-fitur Utama PyCaret

Preprocessing Data

Membersihkan, transformasi, dan penyesuaian data untuk model machine learning, termasuk penanganan data yang hilang, encoding kategorikal, dan scaling fitur.

Pemodelan dan Evaluasi

Memberikan berbagai model machine learning dan menyediakan fungsi untuk evaluasi performa model, seperti akurasi, presisi, dan recall.

Tuning Hyperparameter

Membantu data scientist untuk mengoptimalkan parameter model dengan metode pencarian grid atau pencarian Bayesian untuk

meningkatkan performa model.

(52)

Perbandingan PyCaret dengan Library Lain

Kemudahan Penggunaan Lebih mudah digunakan

daripada library lain karena API yang sederhana.

Integrasi Fitur Memiliki fitur yang terintegrasi secara lengkap dalam satu platform.

Efisiensi Waktu Mempercepat proses machine learning dengan fungsi yang terotomatisasi.

Fleksibilitas Memberikan fleksibilitas dalam memilih model dan teknik yang sesuai dengan kebutuhan.

(53)

Instalasi dan Persiapan Lingkungan

1 Instalasi PyCaret

Install PyCaret menggunakan pip: pip install pycaret.

2 Import Library

Impor library PyCaret yang dibutuhkan untuk tugas machine learning yang ingin dilakukan.

3 Load Data

Load dataset yang akan digunakan untuk pelatihan dan pengujian model machine learning.

(54)

Preprocessing Data dengan PyCaret

Handle Missing Values

Mengatasi data yang hilang dengan berbagai teknik, seperti penghapusan atau imputasi.

Feature Engineering

Membuat fitur baru dari data yang ada untuk meningkatkan performa model.

Feature Scaling

Menyesuaikan skala fitur untuk meningkatkan performa model, terutama untuk algoritma sensitif skala.

Data Transformation

Mentransformasikan data ke dalam format yang sesuai dengan model yang akan digunakan.

(55)

Pemodelan dan Evaluasi dengan PyCaret

Pemilihan Model

PyCaret menyediakan berbagai model machine learning yang dapat dipilih sesuai dengan kebutuhan, termasuk model klasifikasi, regresi, dan clustering.

Pelatihan Model

Melatih model yang dipilih dengan data yang telah diproses.

Evaluasi Performa

Mengevaluasi performa model dengan berbagai metrik, seperti akurasi, presisi, recall, dan F1- score.

Pemilihan Model Terbaik

Memilih model terbaik

berdasarkan performa evaluasi dan kebutuhan bisnis.

(56)

Tuning Hyperparameter

Pencarian Grid

Metode pencarian hyperparameter yang mencoba semua kombinasi hyperparameter yang ditentukan.

Pencarian Bayesian

Metode yang menggunakan model probabilistik untuk mencari

hyperparameter yang optimal dengan lebih efisien.

Random Search

Metode yang memilih hyperparameter secara acak dalam rentang yang

ditentukan.

(57)

Deployment Model dengan PyCaret

Saving Model

1

Simpan model yang telah dilatih untuk digunakan di kemudian hari.

2

Deployment

Deploy model ke berbagai platform, seperti cloud, API, atau aplikasi web.

Monitoring Performa

3

Pantau performa model yang telah dideploy untuk

(58)

LANGCHAIN

06

(59)

LangChain

LangChain memberikan kerangka kerja untuk mendefinisikan, mengatur, dan menjalankan interaksi dengan model bahasa.

Manajemen Model

Memudahkan integrasi dengan berbagai LLM, memungkinkan pergantian model dengan mudah.

Rantai (Chains)

Memfasilitasi pemanggilan model bahasa untuk tugas kompleks, seperti peringkasan atau chatbot.

Agen (Agents)

Memberikan kemampuan untuk mendelegasikan tugas ke model bahasa, memungkinkan aplikasi mengambil tindakan berdasarkan output.

Memori

Memungkinkan aplikasi untuk menyimpan konteks percakapan dan data historis untuk interaksi yang lebih personal.

(60)

Fitur-fitur Utama LangChain

LangChain menawarkan serangkaian fitur yang dirancang untuk meningkatkan pengembangan aplikasi AI.

1

Integrasi Model

Mendukung integrasi dengan berbagai model bahasa, termasuk ChatGPT, Bard, dan model open-source.

2

Pengembangan Rantai

Memberikan kemampuan untuk membangun dan

menggabungkan rantai tugas untuk mencapai fungsionalitas kompleks.

3

Manajemen Memori

Membantu aplikasi mengingat konteks percakapan sebelumnya, memungkinkan interaksi yang lebih personal.

4

Integrasi Alat

Memungkinkan integrasi dengan alat eksternal, seperti database, API, dan layanan web,

memperluas kemampuan aplikasi.

(61)

AI

LangChain memberikan alat yang diperlukan untuk membangun aplikasi AI yang kuat dan fleksibel, seperti chatbot, asisten virtual, dan alat analisis data.

Tentukan Tujuan

1

Identifikasi tujuan dan fungsionalitas aplikasi AI yang ingin dibangun.

2

Pilih Model Bahasa

Pilih model bahasa yang sesuai dengan kebutuhan aplikasi, seperti ChatGPT atau Bard.

Buat Rantai Tugas

3

Definisikan urutan tugas yang akan dilakukan oleh model bahasa untuk mencapai tujuan aplikasi.

4

Integrasikan Alat

Hubungkan aplikasi dengan alat eksternal seperti database atau API untuk memperluas fungsionalitas.

Uji dan Perbaiki

5

Latih dan uji aplikasi secara menyeluruh untuk memastikan kinerja yang optimal dan hasil yang sesuai.

(62)

Integrasi LangChain dengan Model Language

LangChain dirancang untuk bekerja secara harmonis dengan model bahasa, memungkinkan pengembang untuk memanfaatkan kekuatan LLM secara efektif.

Model Bahasa Tersedia

LangChain mendukung berbagai model bahasa, termasuk ChatGPT, Bard, dan model open-source.

Integrasi Mudah

LangChain menyediakan API

sederhana untuk mengintegrasikan model bahasa ke dalam aplikasi.

Pengaturan Fleksibel

Memungkinkan pengembang untuk menyesuaikan parameter model bahasa, seperti suhu dan jumlah token, untuk mencapai hasil yang diinginkan.

(63)

LangChain

LangChain memungkinkan pengembang untuk membangun agen cerdas yang dapat belajar dan beradaptasi dengan waktu, memberikan pengalaman pengguna yang lebih personal.

Definisikan Tugas

Tentukan tugas yang akan dilakukan oleh agen, seperti pencarian informasi atau pemesanan.

Latih Model

Latih model bahasa dengan data yang relevan dengan tugas yang akan dilakukan.

Integrasikan Alat

Hubungkan agen dengan alat eksternal untuk memungkinkan agen mengambil tindakan berdasarkan hasil.

Uji dan Perbaiki

Latih dan uji agen secara berkelanjutan untuk memastikan kinerja yang optimal.

(64)

Optimasi Kinerja dengan LangChain

LangChain menyediakan alat untuk mengoptimalkan kinerja aplikasi AI, memastikan bahwa aplikasi berjalan dengan lancar dan efisien.

Teknik Optimasi Penjelasan

Optimasi Rantai Menyesuaikan rantai tugas untuk mencapai hasil yang diinginkan dengan lebih efisien.

Pemilihan Model Memilih model bahasa yang sesuai dengan kebutuhan aplikasi untuk kinerja yang optimal.

Manajemen Memori Mengoptimalkan penggunaan

memori untuk menghindari masalah kinerja terkait memori.

(65)

LangChain

LangChain telah digunakan dalam berbagai aplikasi AI, membuktikan fleksibilitas dan kekuatan framework ini.

Chatbot

Membangun chatbot yang responsif dan interaktif untuk layanan pelanggan atau bantuan informasi.

Asisten Virtual

Menciptakan asisten virtual yang dapat membantu pengguna dalam berbagai tugas, seperti pengingat atau

penjadwalan.

Analisis Data

Menggunakan model bahasa untuk menganalisis data, mengekstrak

Otomatisasi Tugas

Memanfaatkan model bahasa untuk mengotomatiskan tugas-tugas yang

(66)

DOCKER

07

(67)

Integrasi Deep Learning dan Docker

Framework Deep Learning

Docker dapat digunakan untuk membangun container yang berisi framework deep learning seperti TensorFlow, PyTorch, Keras, dan lainnya. Container ini menyediakan lingkungan yang terisolasi dan terdefinisi dengan baik, sehingga memastikan konsistensi dan kompatibilitas saat menjalankan model deep learning.

Library dan Dependensi

Docker memungkinkan

pengembang untuk mendefinisikan dependensi yang diperlukan untuk proyek deep learning, seperti NumPy, Pandas, Scikit-learn, dan OpenCV. Dengan menggunakan Dockerfile, dependensi ini dapat dipaketkan bersama dengan

framework deep learning dan kode sumber, sehingga memastikan bahwa lingkungan runtime selalu sesuai dengan kebutuhan proyek.

Model Deep Learning

Container Docker dapat digunakan untuk menyimpan dan

menjalankan model deep learning yang sudah dilatih. Ini

memudahkan deployment model di berbagai platform dan lingkungan tanpa perlu menginstal dependensi atau library tambahan pada setiap mesin target.

(68)

Manfaat Menggunakan Docker untuk Deep Learning

1 Konsistensi dan Reproduksibilitas

Docker memastikan bahwa lingkungan deep learning yang dibuat dapat direplikasi dengan mudah di berbagai mesin dan platform, sehingga menghilangkan masalah

kompatibilitas dan ketidakpastian dalam lingkungan pengembangan.

2 Kemudahan Deployment

Docker mempermudah deployment model deep learning ke berbagai platform, termasuk cloud, server lokal, dan bahkan perangkat mobile. Container Docker dapat dijalankan di berbagai platform tanpa perlu modifikasi yang signifikan.

3 Efisiensi dan Manajemen Sumber Daya

Docker memungkinkan pengembang untuk menggunakan sumber daya secara lebih efisien dengan mengalokasikan sumber daya yang tepat untuk setiap container. Hal ini membantu mengurangi konflik sumber daya dan meningkatkan kinerja aplikasi deep learning.

4 Kolaborasi Tim

Docker memudahkan kolaborasi antara anggota tim karena semua anggota dapat menggunakan container yang sama dengan dependensi dan konfigurasi yang terdefinisi dengan baik, sehingga menghilangkan masalah perbedaan lingkungan pengembangan.

(69)

Membangun Lingkungan Deep Learning dengan Docker

Langkah 1: Memilih Framework Deep Learning 1

Langkah pertama adalah memilih framework deep learning yang sesuai untuk proyek Anda, seperti TensorFlow, PyTorch, atau Keras. Framework yang tepat akan tergantung pada kebutuhan proyek, seperti jenis data yang digunakan, arsitektur model, dan kinerja yang diharapkan.

2 Langkah 2: Menginstal Docker

Pastikan Docker telah diinstal pada sistem Anda. Anda dapat mengunduh dan menginstal Docker dari situs web resmi Docker. Setelah Docker diinstal, Anda dapat mulai membangun container deep learning Anda.

Langkah 3: Membuat Dockerfile 3

Dockerfile adalah file teks yang berisi instruksi untuk membangun container Docker. Anda perlu menentukan basis image, dependensi yang diperlukan, dan langkah-langkah untuk menginstal framework dan library deep learning

yang diperlukan. 4 Langkah 4: Membangun Container

Setelah Dockerfile dibuat, Anda dapat membangun container dengan menjalankan perintah `docker build` pada terminal. Docker akan membaca instruksi dalam Dockerfile dan membangun container yang berisi semua komponen yang diperlukan untuk proyek deep learning Anda.

Langkah 5: Menjalankan Container 5

Setelah container dibangun, Anda dapat menjalankannya dengan perintah

`docker run`. Container akan berjalan dalam lingkungan yang terisolasi, memberikan akses ke semua dependensi dan framework yang diperlukan untuk menjalankan model deep learning Anda.

(70)

Menyiapkan Dockerfile untuk Proyek Deep Learning

Basis Image

Pilih basis image yang sesuai dengan framework deep learning yang Anda gunakan. Misalnya, jika Anda

menggunakan TensorFlow, Anda dapat menggunakan image

TensorFlow resmi dari Docker Hub.

FROM

tensorflow/tensorflow:latest

Dependensi

Tentukan dependensi yang diperlukan untuk proyek deep learning Anda.

Anda dapat menggunakan perintah

`RUN` untuk menginstal library dan paket tambahan yang diperlukan.

RUN pip install numpy pandas scikit-learn

Kode Sumber

Tambahkan kode sumber proyek deep learning Anda ke container.

Anda dapat menyalin kode sumber ke dalam folder kerja container atau menggunakan volume untuk me- mount folder lokal ke dalam container.

COPY . /app WORKDIR /app

(71)

Penggunaan Paket Manager

Docker memungkinkan Anda untuk menggunakan paket manager seperti `pip` untuk menginstal dan mengelola dependensi proyek deep learning Anda. Dengan memasukkan perintah `pip install` di dalam Dockerfile, Anda dapat menginstal library yang diperlukan secara otomatis saat container dijalankan.

Membuat Layer

Docker menggunakan konsep layer untuk membangun

container. Setiap instruksi dalam Dockerfile akan membuat layer baru. Hal ini memungkinkan Docker untuk hanya

membangun layer yang berubah saat ada pembaruan pada Dockerfile, sehingga mempercepat proses pembangunan container.

Menggunakan Cache

Docker memanfaatkan cache untuk meningkatkan kecepatan pembangunan container. Jika ada layer yang sudah di-cache, Docker akan menggunakannya kembali, sehingga menghindari proses pembangunan ulang yang tidak perlu.

Menghindari Konflik Dependensi

Container Docker menyediakan lingkungan yang terisolasi, sehingga memastikan bahwa tidak ada konflik dependensi antara proyek deep learning Anda dan aplikasi lain yang berjalan pada sistem yang sama.

(72)

Deployment Model Deep Learning Menggunakan Docker

Langkah Deskripsi

1 Buat container Docker yang berisi model deep learning yang sudah dilatih,

dependensi, dan kode sumber yang diperlukan.

2 Push container Docker ke Docker Hub atau registry private lainnya.

3 Jalankan container Docker pada server target, baik secara manual atau

menggunakan alat orkestrasi container seperti Kubernetes.

4 Konfigurasikan layanan web atau API untuk menerima permintaan dan

mengirimkannya ke model deep learning yang berjalan di container.

(73)

Docker

Skalabilitas

Docker memudahkan skalabilitas model deep learning. Anda dapat menjalankan multiple instance container yang sama untuk menangani peningkatan beban kerja dan permintaan data.

Portabilitas

Container Docker dapat dijalankan di berbagai platform, termasuk cloud, server lokal, dan perangkat mobile. Hal ini membuat model deep learning yang dibangun dengan Docker lebih portabel dan mudah untuk deployment di berbagai lingkungan.

Kemudahan Integrasi

Container Docker dapat dengan mudah

diintegrasikan dengan layanan dan infrastruktur yang ada. Anda dapat menggunakan alat orkestrasi container seperti Kubernetes untuk mengelola dan mengatur container Docker dalam skala besar.

Manajemen Sumber Daya

Docker memungkinkan Anda untuk

mengalokasikan sumber daya yang tepat untuk setiap container, sehingga meningkatkan efisiensi dan kinerja model deep learning.

(74)

RAPIDS

08

(75)

RAPIDS merupakan kumpulan library yang bekerja sama untuk mempercepat proses analisis dan pembelajaran mesin menggunakan GPU. Library ini menyediakan kemampuan untuk melakukan preprocessing data, transformasi, dan machine learning secara efisien.

Library utama dalam RAPIDS meliputi:

1 cuDF

cuDF adalah library yang menyediakan fungsionalitas DataFrame seperti Pandas, tetapi dioptimalkan untuk GPU. Ini memungkinkan pemrosesan data yang lebih cepat, terutama untuk dataset besar.

2 cuML

cuML adalah library yang menyediakan algoritma pembelajaran mesin yang dioptimalkan untuk GPU. Ini mencakup model regresi, klasifikasi, clustering, dan lainnya.

3 cuPy

cuPy adalah library yang menyediakan fungsi matematika yang dioptimalkan untuk GPU. Ini mirip dengan NumPy, tetapi dengan kemampuan untuk bekerja pada GPU, sehingga sangat berguna untuk operasi numerik yang intensif.

4 Dask-cuDF

Dask-cuDF adalah library yang memungkinkan Anda untuk memproses data yang sangat besar yang tidak dapat muat dalam memori GPU. Ini memecah data menjadi potongan- potongan yang lebih kecil dan memprosesnya secara paralel.

(76)

Kelebihan Menggunakan RAPIDS

Penggunaan RAPIDS menawarkan berbagai keuntungan, terutama untuk tugas-tugas intensif komputasi seperti pembelajaran mesin dan analisis data. Keuntungan ini termasuk:

Kecepatan yang lebih tinggi

Dengan memanfaatkan kekuatan pemrosesan paralel GPU, RAPIDS dapat memproses data dan melatih model pembelajaran mesin dengan kecepatan yang jauh lebih tinggi dibandingkan dengan CPU. Ini berarti bahwa Anda dapat menyelesaikan tugas-tugas yang sama dengan lebih cepat, yang sangat bermanfaat untuk aplikasi yang

memerlukan waktu tanggap yang cepat.

Skalabilitas

RAPIDS dirancang untuk skala dengan mudah. Anda dapat menambahkan lebih banyak GPU untuk memproses data lebih cepat, sehingga dapat menangani dataset yang lebih besar dan model yang lebih kompleks. Skalabilitas ini penting untuk perusahaan dengan kebutuhan komputasi yang tinggi.

Efisiensi Energi

GPU lebih efisien secara energi dibandingkan dengan CPU dalam

melakukan komputasi intensif. Ini berarti bahwa Anda dapat mengurangi

konsumsi energi Anda dan mengurangi jejak karbon Anda dengan menggunakan RAPIDS.

(77)

dengan Alternatif Lain

RAPIDS memiliki beberapa alternatif, tetapi masing-masing memiliki kelebihan dan kekurangan. Berikut adalah perbandingan RAPIDS dengan alternatif lain:

Fitur RAPIDS TensorFlow PyTorch

Dukungan GPU Sangat bagus Sangat bagus Sangat bagus Preprocessing

Data

cuDF TensorFlow

Data

PyTorch DataLoader Pembelajaran

Mesin

cuML TensorFlow

Estimator

PyTorch Module

Kecepatan Cepat Cepat Cepat

Skalabilitas Sangat baik Sangat baik Sangat baik

Ekosistem Berkembang Besar Besar

(78)

Instalasi dan Konfigurasi RAPIDS

Instalasi RAPIDS relatif mudah. Anda dapat menginstal RAPIDS dengan menggunakan pip, pengelola paket Python yang populer. Anda juga membutuhkan driver GPU NVIDIA yang kompatibel untuk memanfaatkan kemampuan GPU. Setelah menginstal, Anda perlu mengonfigurasi lingkungan Anda untuk menggunakan RAPIDS. Ini meliputi:

Konfigurasi Lingkungan

Anda mungkin perlu menyesuaikan variabel lingkungan untuk menentukan lokasi driver GPU dan library RAPIDS. Ini dapat dilakukan melalui pengaturan sistem atau script shell.

Memeriksa Driver GPU

Pastikan driver GPU yang Anda gunakan kompatibel dengan versi RAPIDS yang Anda instal. Anda dapat menggunakan perintah nvidia-smi untuk memeriksa versi driver GPU.

Memulai Pemrograman

Setelah semuanya terkonfigurasi, Anda dapat mulai menggunakan library RAPIDS untuk memproses data, melatih model pembelajaran mesin, dan melakukan tugas- tugas komputasi lainnya.

(79)

Integrasi RAPIDS dengan Ekosistem ML/DL

RAPIDS dapat diintegrasikan dengan berbagai ekosistem pembelajaran mesin dan pembelajaran mendalam yang ada,

termasuk TensorFlow, PyTorch, dan scikit-learn. Integrasi ini memungkinkan Anda untuk menggunakan library RAPIDS untuk mempercepat tugas-tugas tertentu dalam alur kerja ML/DL, tanpa perlu mengganti seluruh infrastruktur.

TensorFlow

RAPIDS dapat digunakan untuk mempercepat preprocessing data dan pelatihan model TensorFlow.

Anda dapat menggunakan library RAPIDS untuk memproses data dan memindahkannya ke TensorFlow untuk pelatihan. Ini dapat

menghemat waktu dan

meningkatkan efisiensi pelatihan.

PyTorch

Anda dapat menggunakan RAPIDS untuk mempercepat preprocessing data dan pelatihan model PyTorch.

Library RAPIDS dapat digunakan untuk melakukan operasi

preprocessing pada data sebelum diberikan ke model PyTorch. Ini dapat meningkatkan kecepatan pelatihan dan kinerja model.

scikit-learn

RAPIDS dapat digunakan untuk mempercepat pelatihan model scikit-learn pada GPU. Anda dapat menggunakan library RAPIDS untuk melatih model scikit-learn pada GPU, yang dapat mempercepat proses pelatihan secara signifikan.

(80)

Kasus Penggunaan RAPIDS

RAPIDS memiliki berbagai macam aplikasi dan dapat digunakan dalam berbagai bidang. Berikut adalah beberapa contoh kasus penggunaan RAPIDS:

1 Analisis Data

RAPIDS dapat digunakan untuk memproses data yang sangat besar dan melakukan analisis data yang

kompleks. Ini sangat bermanfaat untuk aplikasi seperti analisis data keuangan, ilmu pengetahuan, dan

penelitian medis.

2 Pembelajaran Mesin

RAPIDS dapat digunakan untuk melatih model pembelajaran mesin dengan cepat dan efisien. Ini dapat digunakan untuk aplikasi seperti pengenalan gambar, pemrosesan bahasa alami, dan deteksi penipuan.

3 Pembelajaran Mendalam

RAPIDS dapat digunakan untuk mempercepat

pelatihan model pembelajaran mendalam. Ini dapat digunakan untuk aplikasi seperti pengenalan ucapan, penerjemahan mesin, dan pembangkitan gambar.

4 Analisis Citra

RAPIDS dapat digunakan untuk memproses dan menganalisis gambar dengan cepat. Ini dapat digunakan untuk aplikasi seperti pengenalan objek, segmentasi gambar, dan klasifikasi gambar.

(81)

Meskipun menawarkan banyak keuntungan, RAPIDS juga memiliki beberapa tantangan dan keterbatasan. Ini meliputi:

Kurangnya Dukungan untuk Semua Library

RAPIDS mungkin tidak mendukung semua library pembelajaran mesin dan pembelajaran mendalam yang tersedia. Ini dapat menjadi masalah jika Anda perlu menggunakan library tertentu yang tidak didukung oleh RAPIDS.

Kemudahan Penggunaan

Meskipun RAPIDS berusaha untuk menjadi mudah digunakan, namun bisa membutuhkan waktu untuk memahami cara kerjanya dan bagaimana

mengintegrasikannya dengan alur kerja ML/DL yang ada. Ini bisa menjadi hambatan bagi pengguna yang baru memulai.

Dukungan Komunitas

RAPIDS adalah proyek yang relatif baru, dan komunitasnya masih berkembang. Ini berarti bahwa Anda mungkin

kesulitan menemukan bantuan atau dukungan jika Anda menghadapi masalah.

Pengoptimalan

Mengoptimalkan kode RAPIDS untuk mencapai kinerja

maksimum dapat

membutuhkan pengetahuan tentang arsitektur GPU dan optimasi perangkat keras. Ini bisa menjadi tantangan bagi pengguna yang tidak memiliki pengalaman ini.

(82)

TRITON

09

(83)

Triton adalah framework open-source yang dikembangkan oleh NVIDIA yang dirancang khusus untuk penyebaran dan inferensi model deep learning. Sederhananya, Triton memungkinkan Anda untuk menjalankan model deep learning Anda secara efisien pada berbagai platform, baik di pusat data, cloud, maupun perangkat tepi.

Server Inferensi

Triton berfungsi sebagai server inferensi, tempat Anda dapat

menyajikan model deep learning yang sudah dilatih untuk digunakan dalam aplikasi dunia nyata.

Performa Tinggi

Triton dioptimalkan untuk

memberikan performa inferensi yang tinggi, memungkinkan Anda untuk menangani permintaan inferensi secara real-time dengan latensi rendah.

Pengelolaan Model

Triton menawarkan kemampuan untuk mengelola dan menyajikan banyak model deep learning secara bersamaan, memungkinkan Anda untuk membuat sistem inferensi yang fleksibel dan scalable.

(84)

Keunggulan Triton dalam Inferensi Deep Learning

Triton menawarkan berbagai keunggulan yang membuatnya menjadi pilihan yang menarik untuk penyebaran model deep learning:

1

Performa Tinggi

Triton dioptimalkan untuk performa inferensi yang tinggi, memungkinkan Anda untuk memproses permintaan inferensi secara cepat dan efisien.

2

Skalabilitas

Triton dapat menangani beban kerja inferensi yang besar,

memungkinkan Anda untuk skala sistem Anda sesuai kebutuhan.

3

Multi-Framework

Triton mendukung berbagai framework deep learning, seperti TensorFlow, PyTorch, dan ONNX, memberikan fleksibilitas dalam memilih model Anda.

4

Pengelolaan Model

Triton menawarkan kemampuan untuk mengelola dan menyajikan banyak model deep learning, memungkinkan Anda untuk membuat sistem inferensi yang fleksibel dan scalable.

(85)

Integrasi Triton dengan Berbagai Framework Deep Learning

Salah satu keunggulan utama Triton adalah kemampuannya untuk berintegrasi dengan berbagai framework deep learning yang populer. Ini memberikan fleksibilitas bagi pengembang dalam memilih framework yang paling sesuai untuk proyek mereka tanpa harus khawatir tentang kompatibilitas.

TensorFlow

Triton mendukung TensorFlow, salah satu framework deep learning yang paling banyak digunakan.

PyTorch

Triton juga mendukung PyTorch, sebuah framework deep learning yang populer untuk penelitian dan pengembangan.

ONNX

Triton dapat menangani model yang didefinisikan dalam format ONNX (Open Neural Network Exchange), yang memungkinkan interoperabilitas antar framework deep learning.

(86)

Optimalisasi Performa dengan Triton

Triton menawarkan berbagai fitur untuk mengoptimalkan performa inferensi, membantu Anda mencapai latensi rendah dan throughput tinggi. Ini penting dalam berbagai skenario, seperti aplikasi real-time dan sistem dengan batasan sumber daya.

Batching

Triton dapat menggabungkan beberapa permintaan inferensi menjadi satu batch, sehingga meningkatkan efisiensi pemrosesan.

TensorRT

Triton dapat memanfaatkan TensorRT, sebuah library optimasi inferensi NVIDIA, untuk mempercepat eksekusi model deep learning.

Dynamic Batching

Triton memungkinkan batching dinamis, di mana batch dibentuk secara real-time berdasarkan permintaan inferensi yang masuk, mengoptimalkan penggunaan sumber daya.

Model Ensembling

Triton mendukung ensembling model, di mana beberapa model digabungkan untuk meningkatkan akurasi dan ketahanan.

(87)

Kasus Penggunaan Triton di Industri

Triton telah diadopsi oleh berbagai perusahaan dan organisasi di berbagai sektor industri, untuk berbagai aplikasi yang membutuhkan inferensi model deep learning yang cepat dan efisien.

Sektor Kasus Penggunaan

Otomotif Sistem bantuan pengemudi (ADAS),

kendaraan otonom

Medis Diagnosis penyakit, analisis citra

medis

E-niaga Rekomendasi produk, deteksi

penipuan

Keuangan Deteksi penipuan, analisis risiko

(88)

HUGGINGFACE

10

(89)

Huggingface

Hugging Face adalah platform yang menyediakan koleksi model deep learning yang telah dilatih sebelumnya, dataset, dan alat yang dapat digunakan untuk berbagai tugas AI, seperti pemrosesan bahasa alami (NLP), penglihatan komputer, dan audio.

Hugging Face juga menawarkan berbagai alat dan framework yang dapat digunakan untuk membangun, melatih, dan menguji model deep learning. Platform ini dikenal karena komunitasnya yang aktif dan mudah diakses bagi pemula hingga ahli.

Model Deep Learning

Hugging Face menyediakan berbagai model deep learning yang telah dilatih sebelumnya, mencakup model untuk NLP, penglihatan komputer, dan audio. Model- model ini dapat digunakan untuk berbagai tugas, seperti klasifikasi teks,

penerjemahan bahasa, dan deteksi objek.

Dataset

Hugging Face menyediakan berbagai dataset yang dapat digunakan untuk melatih model deep learning. Dataset ini mencakup berbagai format, seperti teks, gambar, dan audio.

Alat dan Framework

Hugging Face menyediakan berbagai alat dan framework yang dapat digunakan untuk membangun, melatih, dan menguji model deep learning. Ini termasuk alat untuk preprocessing data, melatih model, dan mengevaluasi kinerja model.

(90)

Keunggulan Huggingface

Hugging Face menawarkan sejumlah keunggulan yang menjadikannya platform yang ideal untuk para pengembang AI. Keunggulan-keunggulan ini meliputi kemudahan akses,

komunitas yang aktif, beragam model dan dataset, serta dukungan untuk berbagai framework.

1

Akses Mudah

Hugging Face memberikan akses mudah terhadap model dan dataset deep learning, membuatnya mudah digunakan bagi pemula maupun ahli.

2

Komunitas Aktif

Hugging Face memiliki komunitas pengguna yang aktif yang selalu siap membantu, berbagi pengetahuan, dan berkolaborasi dalam berbagai proyek.

3

Beragam Model dan Dataset

Hugging Face menyediakan koleksi besar model dan dataset deep learning yang dapat digunakan untuk berbagai tugas dan domain.

4

Dukungan untuk Berbagai Framework

Hugging Face mendukung berbagai framework deep learning, sehingga pengguna dapat memilih framework yang paling sesuai dengan kebutuhan mereka.

(91)

Komponen Utama Huggingface

Hugging Face memiliki beberapa komponen utama yang bekerja bersama untuk menyediakan layanan komprehensif untuk pengembangan AI. Komponen-komponen ini dirancang untuk memudahkan para pengembang dalam mengakses dan

menggunakan model dan dataset deep learning.

Transformers

Perpustakaan yang menyediakan model deep learning untuk NLP, seperti BERT, GPT-2, dan XLNet.

Datasets

Koleksi dataset yang dapat digunakan untuk melatih model deep learning, seperti MNIST, ImageNet, dan COCO.

Tokenizers

Alat untuk mengubah teks menjadi token yang dapat diproses oleh model deep learning.

Pipelines

Alat untuk membangun pipeline yang dapat digunakan untuk menjalankan tugas NLP, seperti klasifikasi teks dan terjemahan bahasa.

(92)

Transformers

Transformers adalah pustaka Python yang dirancang untuk menyediakan implementasi yang mudah digunakan dan efisien untuk model deep learning yang berbasis arsitektur transformers. Transformers telah menjadi sangat populer dalam NLP karena

kemampuannya untuk menangani teks yang panjang dan kompleks.

Transformers menyediakan berbagai model yang telah dilatih sebelumnya, seperti BERT, GPT-2, dan XLNet. Model-model ini dapat digunakan untuk berbagai tugas, seperti klasifikasi teks, penerjemahan bahasa, dan generasi teks. Selain model yang telah dilatih sebelumnya, Transformers juga memungkinkan pengguna untuk melatih model mereka sendiri menggunakan dataset khusus.

BERT

Model bahasa yang dirancang untuk memahami konteks kata dalam kalimat, cocok untuk tugas seperti klasifikasi teks dan analisis sentimen.

GPT-2

Model bahasa yang dirancang untuk menghasilkan teks yang koheren dan mirip manusia, ideal untuk tugas seperti pembuatan konten dan terjemahan bahasa.

XLNet

Model bahasa yang dirancang untuk menangkap hubungan antar kata dalam kalimat yang lebih kompleks, cocok untuk tugas seperti klasifikasi teks dan analisis sentimen.

(93)

Datasets

Datasets adalah koleksi data yang dapat digunakan untuk melatih model deep learning. Hugging Face menyediakan berbagai dataset yang telah dikurasi, siap digunakan untuk berbagai tugas AI, seperti pemrosesan bahasa alami, penglihatan komputer, dan audio. Dataset ini mencakup berbagai format dan ukuran, sehingga dapat digunakan untuk berbagai proyek.

Dataset Format Contoh Penggunaan

MNIST Gambar Pengenalan angka tulisan tangan

ImageNet Gambar Klasifikasi gambar, deteksi objek

COCO Gambar Deteksi objek, segmentasi gambar

(94)

Tokenizers

Tokenizers adalah alat yang mengubah teks menjadi token yang dapat diproses oleh model deep learning. Token adalah unit terkecil dari teks yang dapat dipahami oleh model, seperti kata, karakter, atau sub-kata.

Proses tokenisasi dilakukan untuk memecah teks menjadi unit yang lebih kecil, sehingga model dapat memproses teks dengan lebih efisien. Tokenizers dapat digunakan untuk berbagai tugas, seperti klasifikasi teks, penerjemahan bahasa, dan generasi teks.

Text Tokenization

Memecah teks menjadi kata-kata atau sub- kata.

Character Tokenization

Memecah teks menjadi karakter.

Wordpiece Tokenization

Memecah teks menjadi sub-kata yang umum.

Sentence Tokenization

Memecah teks menjadi kalimat.

(95)

Pipelines adalah alat yang digunakan untuk membangun proses yang dapat digunakan untuk menjalankan tugas NLP, seperti klasifikasi teks dan terjemahan bahasa. Pipelines mempermudah para pengembang dalam membangun dan menjalankan aplikasi NLP dengan menggabungkan berbagai komponen, seperti tokenizers, model, dan post-processing.

Dengan menggunakan pipelines, para pengembang dapat mengotomatisasi proses NLP, sehingga dapat fokus pada pengembangan aplikasi yang lebih kompleks. Pipelines juga dapat digunakan untuk menguji dan mengevaluasi kinerja model NLP.

1

Preprocessing

Data preprocessing dilakukan untuk membersihkan dan mempersiapkan data untuk model deep learning.

2

Model Inference

Model deep learning digunakan untuk memproses data yang telah dipreprocess dan menghasilkan output.

3

Post-processing

Output dari model deep learning diproses lebih lanjut untuk menghasilkan output

(96)

Contoh Penggunaan Huggingface

Hugging Face dapat digunakan untuk berbagai tugas AI, baik untuk penelitian, pengembangan, maupun penggunaan sehari- hari. Berikut adalah beberapa contohnya:

1 Klasifikasi Teks

Mengelompokkan teks ke dalam kategori yang berbeda, seperti sentimen positif, negatif, atau netral.

2 Terjemahan Bahasa

Menerjemahkan teks dari satu bahasa ke bahasa lainnya.

3 Generasi Teks

Menghasilkan teks yang mirip manusia, seperti menulis cerita atau puisi.

4 Pengenalan Ucapan

Mengubah ucapan manusia menjadi teks.

5 Deteksi Objek

Mendeteksi dan mengidentifikasi objek dalam gambar.

(97)

Judul Tugas:

Melakukan Percobaan Terkait Implementasi Perceptron Sederhana Menggunakan Python dan TensorFlow

Tujuan:

Mahasiswa diharapkan memahami dan dapat menerapkan

algoritma perceptron sederhana menggunakan TensorFlow,

serta menganalisis hasil dari model yang dibangun.

(98)

Tugas: Implementasi Perceptron dengan TensorFlow Membangun Model Perceptron:

Import library yang diperlukan, seperti TensorFlow dan NumPy.

Buat dataset sederhana (misalnya, gerbang logika AND atau OR).

Bangun model perceptron menggunakan API Keras dari TensorFlow:

Definisikan model Sequential.

Tambahkan layer input dan output dengan fungsi aktivasi yang sesuai (misalnya, sigmoid).

Kompilasi model dengan fungsi loss dan optimizer yang tepat.

Pelatihan Model

Latih model dengan dataset yang telah dibuat.

Atur parameter pelatihan (jumlah epoch, ukuran batch, dll.).

Simpan hasil pelatihan, termasuk grafik loss dan akurasi.

Evaluasi Model

Lakukan prediksi menggunakan model terlatih pada data latih dan data uji.

Bandingkan hasil prediksi dengan label yang sebenarnya.

Hitung metrik evaluasi seperti akurasi, precision, dan recall.

(99)

TERIMA KASIH

Tim Penyusun:

Gambar

Graf Komputasi Dinamis

Referensi

Garis besar

Dokumen terkait

Data kredit awal yang telah di-preprocessing, diproses menggunakan algoritma CBA untuk membangun model, lalu model tersebut digunakan untuk mengklasifikasi data

Berdasarkan permasalahan-permasalahan diatas, tujuan dari Tugas Akhir ini adalah membangun sistem berbasis Deep Learning untuk melakukan klasifikasi sinyal EKG menggunakan

Convolution Neural Networks (CNN) adalah salah satu algoritma dari deep learning yang merupakan pegembangan dari Multi Layer Perceptron (MLP) yang dirancang untuk mengelolah data

Integrasi data dengan menggunakan pendekatan skema konseptual tidak dapat diterapkan pada data semi terstruktur, hal ini dikarenakan model data semi terstruktur hanya

Desain pembelajaran guling belakang dengan menggunakan model Cooperative Learning Tipe TAI dalam penelitian ini adalah : (a) guru memberikan penjelasan klasikal mengenai

ƒ Membuat algoritma sendiri untuk menentukan penyelesaian dengan banyak langkah penyelesaian menggunakan bilangan rasional yang beragam. ƒ Mengkonstruk bukti yang terstruktur

Data kredit pelaku usaha sebelumnya, diproses menggunakan sebuah algoritma untuk membangun model, lalu model ini digunakan untuk mengklasifikasi kemungkinan kredit

Satu aplikasi yang dibangun untuk meramalkan harga saham menggunakan teknologi deep learning dengan algoritma Long Short-Term