Pekan lalu, Institut Inovasi Teknologi (TII) diluncurkan TII Falcon LLM, model bahasa besar dasar (LLM) sumber terbuka. Dilatih pada 1 triliun token dengan Amazon SageMaker, Falcon menawarkan kinerja terbaik (#1 di Papan peringkat Wajah Memeluk pada saat penulisan) namun relatif ringan dan lebih murah untuk dihosting dibandingkan LLM lain seperti llama-65B. Dalam postingan ini, kami mendemonstrasikan cara menerapkan Falcon untuk aplikasi seperti pemahaman bahasa dan bantuan penulisan otomatis menggunakan wadah pembelajaran mendalam inferensi model besar di SageMaker.
Falcon telah mendarat di SageMaker
TII adalah organisasi penelitian terapan di Abu Dhabi Dewan Riset Teknologi Canggih; tim ilmuwan, peneliti, dan insinyurnya berdedikasi pada penemuan teknologi transformatif dan pengembangan terobosan ilmiah yang akan menjamin masa depan masyarakat kita. Awal tahun ini, TII mulai melatih LLM sumber terbuka yang canggih dan menggunakan infrastruktur, peralatan, dan keahlian SageMaker untuk menyelesaikan pekerjaannya (untuk mempelajari lebih lanjut tentang bagaimana model ini dilatih di SageMaker , mengacu pada Technology Innovation Institute melatih model fondasi Falcon LLM 40B yang canggih di Amazon SageMaker). Hasil dari upaya ini adalah TII Falcon LLM.
Dilatih dengan 1 triliun token, Falcon menawarkan kinerja terbaik melawan Harness Evaluasi Model Bahasa Eleuther AI dan saat ini berada di peringkat #1 di Papan peringkat Wajah Memeluk untuk ketepatan. Model ini tersedia dalam dua ukuran berbedaโFalcon-40B dan Falcon-7Bโdan dapat digunakan untuk performa canggih dalam aplikasi seperti pemahaman bahasa, pengalaman percakapan, dan bantuan menulis otomatis. Postingan ini akan membantu Anda mulai menerapkan Falcon di SageMaker untuk inferensi akurasi tinggi di jenis domain ini.
DLC inferensi model besar SageMaker menyederhanakan hosting LLM
Hosting LLM seperti Falcon-40B dan Falcon-7B dapat menjadi tantangan. Model yang lebih besar seringkali lebih akurat karena mencakup miliaran parameter, namun ukurannya juga dapat mengakibatkan latensi inferensi lebih lambat atau throughput yang lebih buruk. Hosting LLM memerlukan lebih banyak memori GPU dan kernel yang dioptimalkan untuk mencapai kinerja yang dapat diterima. Yang lebih rumit lagi, meskipun model yang lebih kecil seperti Falcon-7B umumnya dapat ditampung pada satu GPU seperti instans NVIDIA A10G yang mendukung tipe instans AWS G5, model yang lebih besar seperti Falcon-40B tidak dapat memuatnya. Jika hal ini terjadi, strategi seperti paralelisme tensor harus digunakan untuk membagi model yang lebih besar menjadi beberapa bagian dan memanfaatkan memori beberapa GPU. Solusi hosting lama yang digunakan untuk model yang lebih kecil biasanya tidak menawarkan fungsi seperti ini, sehingga menambah kesulitan.
Wadah pembelajaran mendalam (DLC) inferensi model besar (LMI) SageMaker dapat membantu. DLC LMI adalah solusi ujung ke ujung yang lengkap untuk menampung LLM seperti Falcon-40B. Di bagian depan, mereka menyertakan server model berkinerja tinggi (DJL Serving) yang dirancang untuk inferensi model besar dengan fitur seperti streaming token dan replikasi model otomatis dalam sebuah instans untuk meningkatkan throughput. Di bagian backend, DLC LMI juga menyertakan beberapa mesin paralel model berperforma tinggi, seperti DeepSpeed โโdan FasterTransformer, yang dapat membagi dan mengelola parameter model di beberapa GPU. Mesin ini juga menyertakan kernel yang dioptimalkan untuk model transformator populer, yang dapat mempercepat inferensi hingga tiga kali lebih cepat. Dengan DLC LMI, Anda hanya perlu membuat file konfigurasi untuk memulai hosting LLM di SageMaker. Untuk mempelajari lebih lanjut tentang DLC โโLMI SageMaker, lihat Paralelisme model dan inferensi model besar dan kami daftar gambar yang tersedia. Anda juga dapat melihat postingan kami sebelumnya tentang hosting Bloom-175B di SageMaker menggunakan DLC LMI.
Ikhtisar solusi
Posting ini memandu Anda tentang cara menghosting Falcon-40B menggunakan DeepSpeed โโdi SageMaker menggunakan DLC LMI. Falcon-40B mengharuskan kita menggunakan beberapa GPU A10, sedangkan Falcon-7B hanya membutuhkan satu GPU. Kami juga telah menyiapkan contoh yang dapat Anda referensikan untuk menghosting Falcon-40B dan Falcon-7B menggunakan DeepSpeed โโdan Accelerate. Anda dapat menemukan contoh kode kami di GitHub.
Contoh ini dapat dijalankan di instance notebook SageMaker atau Studio Amazon SageMaker buku catatan. Untuk hosting Falcon-40B menggunakan LMI dan DeepSpeed, kita perlu menggunakan instance ml.g5.24xlarge. Instans ini menyediakan 4x GPU NVIDIA A10G, yang masing-masing mendukung memori GPU 96 GiB. Selain itu, host menyediakan 96 vCPU dan memori host 384 GiB. Kontainer LMI akan membantu mengatasi sebagian besar beban berat yang tidak terdiferensiasi terkait dengan hosting LLM, termasuk mengunduh model dan mempartisi artefak model sehingga parameter penyusunnya dapat tersebar di beberapa GPU.
Kuota untuk instans pembelajaran mesin (ML) SageMaker dapat bervariasi antar akun. Jika Anda menerima pesan kesalahan yang menunjukkan bahwa Anda telah melampaui kuota untuk instans g5.24xlarge saat mengikuti postingan ini, Anda dapat meningkatkan batas tersebut melalui Konsol Kuota Layanan.
Panduan buku catatan
Untuk memulai, kita mulai dengan menginstal dan mengimpor dependensi yang diperlukan untuk contoh kita. Kami menggunakan Boto3 SDK serta SageMaker SDK. Perhatikan bahwa kami menggunakan Layanan Penyimpanan Sederhana Amazon (Amazon S3) untuk menyimpan artefak model yang kami perlukan agar SageMaker dan LMI dapat digunakan, jadi kami menyiapkan variabel awalan S3 yang sesuai. Lihat kode berikut:
Kami kemudian membuat folder lokal untuk ruang kerja kami untuk menyimpan artefak model kami:
Pertama-tama kita membuat a serving.properties
file konfigurasi di direktori lokal yang kita buat. Ini serving.properties
file menunjukkan ke wadah LMI dan pustaka DJL Serving front-end model paralelisasi dan mesin optimasi inferensi yang ingin kita gunakan. Anda dapat menemukan opsi konfigurasi untuk DeepSpeed โโdan Hugging Face Accelerate di Konfigurasi dan pengaturan. Di sini, perhatikan bahwa kami mengatur option.model_id
parameter untuk menentukan model Wajah Pelukan mana yang akan dipilih. SageMaker membuat bekerja dengan model Hugging Face menjadi sederhana, dan hanya satu baris ini yang Anda perlukan. Selain itu, kami menetapkan option.tensor_parallel_degree
ke nilai 4 karena kami memiliki empat GPU pada instance ml.g5.24xlarge kami. Parameter ini menentukan berapa banyak partisi model yang akan dibuat dan didistribusikan. Perhatikan bahwa jika kita telah menggunakan instance yang lebih besar dengan delapan GPU, seperti ml.g5.48xlarge, dan masih menetapkan nilai 4, maka LMI akan secara otomatis membuat dua replika model (masing-masing dua replika tersebar di empat GPU). Lihat kode berikut:
Anda juga bisa menukarnya tiiuae/falcon-40b
dengan tiiuae/falcon-40b-instruct
jika itu sesuai dengan kebutuhan Anda lebih baik.
Kami juga menyertakan a requirements.txt
file yang dapat Anda tentukan untuk menginstal paket yang Anda perlukan:
Hal terakhir yang kita butuhkan adalah model.py
file yang akan digunakan dengan model Anda:
Itu dia! Pada titik ini, kami telah membuat semua artefak yang Anda perlukan untuk menerapkan Falcon-40B dengan DeepSpeed! Kami mengemas direktori ke dalam file *.tar.gz dan mengunggahnya ke Amazon S3. Perhatikan bahwa model sebenarnya belum diunduh atau dikemas ke dalam file ini. Kontainer LMI akan mengunduh model untuk Anda langsung dari Hugging Face. Anda juga memiliki opsi untuk menargetkan bucket S3 jika Anda ingin salinan model Anda sendiri di lokasi yang memiliki performa lebih baik untuk diunduh. LMI juga menyertakan optimasi untuk mengunduh dari Amazon S3 dengan kinerja tinggi. Lihat kode berikut:
Yang perlu dilakukan saat ini hanyalah mendefinisikan container yang ingin kita gunakan dan membuat objek model:
Kemudian kita membuat konfigurasi endpoint dan membuat endpoint:
Item konfigurasi yang perlu diingat untuk hosting yang sukses
Pertimbangan penting untuk hosting model besar adalah memastikan tersedianya waktu yang cukup untuk mengunduh model dari Hugging Face. Dalam pengujian kami, Falcon-40B membutuhkan waktu sekitar 90 menit untuk diunduh ke instance tersebut. Satu set konfigurasi utama yang memungkinkan hal ini adalah ContainerStartupHealthCheckTimeoutInSeconds dan ModelDataDownloadTimeoutInSeconds. Pastikan konfigurasi titik akhir SageMaker memiliki nilai 3600 untuk masing-masing konfigurasi tersebut. Selain itu, jauh lebih mudah untuk mengunduh dari Amazon S3 dibandingkan dari kebun binatang model asli menggunakan wadah LMI yang dirancang khusus untuk LLMS yang menggunakan utilitas S5cmd, yang memotong waktu pengunduhan model menjadi sekitar 10 menit.
Anda dapat memantau status titik akhir dengan menelepon DescribeEndpoint
, yang akan memberi tahu Anda ketika semuanya sudah selesai. Titik akhir Anda sekarang siap merespons permintaan inferensi! Karena LMI menangani partisi dan orkestrasi model untuk Anda, setiap permintaan akan diproses menggunakan keempat GPU yang tersedia di instance ml.g4xlarge kami. Hal ini memungkinkan kami menghosting LLM dan meningkatkan kinerja jika Anda menskalakan akselerator GPU secara horizontal. Lihat kode berikut:
Jika Anda sudah selesai dan ingin menghapus konfigurasi endpoint, endpoint, dan objek model, Anda dapat menjalankan perintah berikut:
Kode yang kami referensikan dalam posting ini dapat ditemukan secara lengkap buku catatan di GitHub.
Kesimpulan
SageMaker Hosting dan DLC LMI memudahkan Anda menghosting LLM seperti Falcon-40B. Dibutuhkan beban berat yang tidak dapat dibedakan dalam mengatur apa yang diperlukan untuk meng-host model di beberapa GPU dan memberikan opsi yang dapat dikonfigurasi sesuai dengan kebutuhan Anda. Selain itu, penggunaan model Hugging Face menjadi sangat mudah, dengan dukungan bawaan untuk model ini.
Dalam postingan ini, kami menunjukkan bagaimana Anda dapat menggunakan SageMaker untuk menghosting model Falcon-40B menggunakan DeepSpeed. Selain itu, kami memberikan contoh di GitHub untuk menjadi tuan rumah Falcon-40B menggunakan Accelerate, dan model Falcon-7B yang lebih kecil. Kami mendorong Anda untuk mencobanya di SageMaker dengan LMI dan dapatkan pengalaman langsung dengan LLM publik dengan kinerja terbaik hingga saat ini!
Tentang penulis
James Taman adalah Arsitek Solusi di Amazon Web Services. Dia bekerja dengan Amazon.com untuk merancang, membangun, dan menerapkan solusi teknologi di AWS, dan memiliki minat khusus pada AI dan pembelajaran mesin. Di waktu senggangnya, dia senang mencari budaya baru, pengalaman baru, dan tetap up to date dengan tren teknologi terkini. Anda dapat menemukannya di LinkedIn.
Abhi Shivaditya adalah Arsitek Solusi Senior di AWS, bekerja dengan organisasi perusahaan global strategis untuk memfasilitasi penerapan layanan AWS di berbagai bidang seperti Kecerdasan Buatan, komputasi terdistribusi, jaringan, dan penyimpanan. Keahliannya terletak pada Deep Learning dalam domain Natural Language Processing (NLP) dan Computer Vision. Abhi membantu pelanggan dalam menerapkan model pembelajaran mesin berkinerja tinggi secara efisien dalam ekosistem AWS.
Robert Van Dusen adalah Manajer Produk Senior dengan Amazon SageMaker. Dia memimpin pengoptimalan model pembelajaran mendalam untuk aplikasi seperti inferensi model besar.
Evandro Franco adalah Arsitek Solusi Spesialis AI/ML yang bekerja di Amazon Web Services. Dia membantu pelanggan AWS mengatasi tantangan bisnis terkait AI/ML di atas AWS. Dia memiliki pengalaman lebih dari 15 tahun bekerja dengan teknologi, mulai dari pengembangan perangkat lunak, infrastruktur, tanpa server, hingga pembelajaran mesin.
Qinglan adalah Insinyur Pengembangan Perangkat Lunak di AWS. Dia telah mengerjakan beberapa produk yang menantang di Amazon, termasuk solusi inferensi ML kinerja tinggi dan sistem logging kinerja tinggi. Tim Qing berhasil meluncurkan model Billion-parameter pertama di Amazon Advertising dengan latensi yang sangat rendah. Qing memiliki pengetahuan mendalam tentang pengoptimalan infrastruktur dan akselerasi Deep Learning.
Frank Liu adalah Insinyur Perangkat Lunak untuk AWS Deep Learning. Dia berfokus pada membangun alat pembelajaran mendalam yang inovatif untuk insinyur perangkat lunak dan ilmuwan. Di waktu luangnya, dia menikmati hiking bersama teman dan keluarga.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Keuangan EVM. Antarmuka Terpadu untuk Keuangan Terdesentralisasi. Akses Di Sini.
- Grup Media Kuantum. IR/PR Diperkuat. Akses Di Sini.
- PlatoAiStream. Kecerdasan Data Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/deploy-falcon-40b-with-large-model-inference-dlcs-on-amazon-sagemaker/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 10
- 100
- 13
- 14
- 15 tahun
- 15%
- 20
- 22
- 27
- 7
- 8
- 9
- a
- Tentang Kami
- mempercepat
- akselerator
- diterima
- demikian
- Akun
- ketepatan
- tepat
- Mencapai
- di seluruh
- sebenarnya
- menambahkan
- tambahan
- Selain itu
- alamat
- Adopsi
- Keuntungan
- pengiklanan
- terhadap
- AI
- AI / ML
- Semua
- mengizinkan
- memungkinkan
- juga
- Meskipun
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon.com
- an
- dan
- Apa pun
- Lebah
- aplikasi
- terapan
- ADALAH
- daerah
- sekitar
- buatan
- kecerdasan buatan
- AS
- Bantuan
- membantu
- terkait
- At
- mobil
- Otomatis
- secara otomatis
- secara otomatis
- tersedia
- AWS
- Backend
- BE
- karena
- menjadi
- menjadi
- mulai
- makhluk
- Lebih baik
- antara
- miliaran
- membanggakan
- tubuh
- kedua
- terobosan
- membangun
- Bangunan
- built-in
- bisnis
- tapi
- by
- panggilan
- panggilan
- CAN
- tidak bisa
- tantangan
- menantang
- memeriksa
- kode
- COM
- relatif
- lengkap
- terdiri
- komputer
- Visi Komputer
- komputasi
- konfigurasi
- pertimbangan
- Wadah
- Wadah
- percakapan
- membuat
- dibuat
- Sekarang
- pelanggan
- pemotongan
- data
- Tanggal
- dedicated
- mendalam
- belajar mendalam
- Mendefinisikan
- mendemonstrasikan
- menyebarkan
- penggelaran
- Mendesain
- dirancang
- Pengembangan
- DICT
- berbeda
- Kesulitan
- langsung
- penemuan
- mendistribusikan
- didistribusikan
- komputasi terdistribusi
- do
- domain
- dilakukan
- Dont
- Download
- setiap
- Terdahulu
- mudah
- Mudah
- ekosistem
- efisien
- usaha
- mendorong
- akhir
- ujung ke ujung
- Titik akhir
- Mesin
- insinyur
- Insinyur
- Mesin
- memastikan
- Enterprise
- kesalahan
- evaluasi
- segala sesuatu
- contoh
- contoh
- melampaui
- eksekusi
- mahal
- Pengalaman
- keahlian
- Menghadapi
- memudahkan
- keluarga
- lebih cepat
- Fitur
- File
- Menemukan
- Pertama
- cocok
- berfokus
- berikut
- Untuk
- ditemukan
- Prinsip Dasar
- empat
- teman
- dari
- depan
- Ujung depan
- fungsi
- lebih lanjut
- umumnya
- generator
- mendapatkan
- Memberikan
- Aksi
- Go
- GPU
- GPU
- memiliki
- Menangani
- hands-on
- Terjadi
- Memiliki
- he
- berat
- angkat berat
- membantu
- membantu
- di sini
- High
- kinerja tinggi
- dia
- -nya
- secara horizontal
- tuan rumah
- tuan
- Rumah
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- if
- gambar
- mengimpor
- penting
- pengimporan
- in
- secara mendalam
- memasukkan
- termasuk
- Termasuk
- Meningkatkan
- menunjukkan
- Infrastruktur
- Innovation
- inovatif
- memasukkan
- input
- install
- Instalasi
- contoh
- sebagai gantinya
- Lembaga
- Intelijen
- berinteraksi
- bunga
- ke
- IT
- item
- NYA
- Pekerjaan
- jpg
- json
- Menjaga
- kunci
- pengetahuan
- bahasa
- besar
- lebih besar
- Terakhir
- Latensi
- Terbaru
- diluncurkan
- Memimpin
- BELAJAR
- pengetahuan
- meninggalkan
- Warisan
- kurang
- Perpustakaan
- terletak
- Hidup
- pengangkatan
- ringan
- 'like'
- MEMBATASI
- baris
- LLM
- lokal
- tempat
- penebangan
- Rendah
- mesin
- Mesin belajar
- membuat
- MEMBUAT
- mengelola
- manajer
- banyak
- Memori
- keberatan
- menit
- ML
- model
- model
- Memantau
- lebih
- banyak
- beberapa
- harus
- Alam
- Pengolahan Bahasa alami
- perlu
- Perlu
- kebutuhan
- jaringan
- New
- nLP
- buku catatan
- sekarang
- Nvidia
- obyek
- of
- menawarkan
- sering
- on
- ONE
- hanya
- open source
- optimasi
- dioptimalkan
- pilihan
- Opsi
- or
- teknik mengatur musik
- organisasi
- organisasi
- asli
- OS
- Lainnya
- kami
- di luar
- keluaran
- Mengatasi
- sendiri
- paket
- dikemas
- paket
- Paralel
- parameter
- parameter
- tertentu
- path
- prestasi
- potongan-potongan
- pipa saluran
- plato
- Kecerdasan Data Plato
- Data Plato
- Titik
- Populer
- Pos
- kekuatan
- Predictor
- siap
- sebelumnya
- Diproses
- pengolahan
- Produk
- manajer produk
- Produk
- properties
- memberikan
- disediakan
- menyediakan
- di depan umum
- tujuan
- siap
- menerima
- wilayah
- terkait
- replikasi
- permintaan
- membutuhkan
- wajib
- membutuhkan
- penelitian
- peneliti
- Menanggapi
- mengakibatkan
- kembali
- Peran
- Run
- pembuat bijak
- Skala
- ilmiah
- ilmuwan
- SDK
- melihat
- pencarian
- senior
- Tanpa Server
- Layanan
- porsi
- Sidang
- set
- beberapa
- menunjukkan
- Sederhana
- menyederhanakan
- hanya
- tunggal
- Ukuran
- lebih kecil
- So
- Masyarakat
- Perangkat lunak
- pengembangan perangkat lunak
- Software Engineer
- larutan
- Solusi
- spesialis
- khususnya
- penyebaran
- awal
- mulai
- startup
- state-of-the-art
- Status
- Masih
- penyimpanan
- menyimpan
- mudah
- Strategis
- strategi
- Streaming
- sukses
- berhasil
- seperti itu
- setelan
- mendukung
- menukar
- sistem
- Mengambil
- Dibutuhkan
- target
- tim
- Teknologi
- Teknologi
- mengatakan
- tes
- dari
- bahwa
- Grafik
- mereka
- kemudian
- Sana.
- Ini
- mereka
- hal
- hal
- ini
- tahun ini
- tiga
- Melalui
- keluaran
- waktu
- kali
- untuk
- token
- Token
- mengambil
- alat
- puncak
- obor
- Pelatihan VE
- terlatih
- kereta
- transformatif
- transformator
- transformer
- Tren
- Triliun
- mencoba
- dua
- mengetik
- jenis
- khas
- pemahaman
- upload
- us
- menggunakan
- bekas
- menggunakan
- kegunaan
- nilai
- sangat
- penglihatan
- ingin
- adalah
- we
- jaringan
- layanan web
- minggu
- BAIK
- Apa
- Apa itu
- ketika
- sedangkan
- yang
- sementara
- akan
- dengan
- dalam
- kerja
- bekerja
- lebih buruk
- akan
- penulisan
- tahun
- tahun
- Kamu
- Anda
- zephyrnet.dll
- KEBUN BINATANG