Rumah > Peranti teknologi > AI > Ekonomi Mengadakan LLM Sumber Terbuka

Ekonomi Mengadakan LLM Sumber Terbuka

王林
Lepaskan: 2025-02-26 03:15:10
asal
789 orang telah melayarinya

model bahasa yang besar dalam persekitaran pengeluaran

Economics of Hosting Open Source LLMs _Jika anda bukan ahli tetapi ingin membaca artikel ini, sila lihat pautan rakan ini. _

Jika anda telah mencuba model sumber terbuka dengan saiz yang berbeza, anda mungkin tertanya -tanya: apakah cara yang paling berkesan untuk menggunakannya?

Apakah perbezaan harga antara pembekal bayar-as-you-go dan tanpa pelayan, dan apabila platform perkhidmatan LLM wujud, adakah ia benar-benar berbaloi untuk mengendalikan peserta seperti AWS?

Saya memutuskan untuk menggali topik ini dan membandingkan vendor awan seperti AWS dengan alternatif yang dikemas kini seperti modal, bentoml, meniru, memeluk titik akhir muka, dan rasuk.

Kami akan melihat metrik seperti masa pemprosesan, latensi permulaan sejuk, dan CPU, memori dan kos GPU untuk melihat mana yang paling berkesan dan ekonomik. Kami juga akan meliputi metrik yang lebih lembut seperti kemudahan penempatan, pengalaman pemaju, dan komuniti.

Economics of Hosting Open Source LLMs Kami akan meneroka beberapa kes penggunaan, seperti menggunakan model yang lebih kecil pada CPU dan menjalankan model parameter 7-8 bilion pada GPU.

Saya juga akan menyelidiki proses menggunakan model yang lebih kecil menggunakan EFS di AWS Lambda dan membandingkannya dengan platform yang lebih moden seperti Modal.

Saya tidak akan masuk ke dalam kedalaman strategi pengoptimuman di sini -seperti menggunakan rangka kerja atau kuantisasi yang berbeza untuk mempercepatkan penalaran -ini adalah topik yang benar -benar berasingan.

Sebaliknya, artikel ini akan memberi tumpuan kepada cara memilih pilihan penempatan yang betul, memberi anda peluang untuk membandingkan prestasi dalam senario yang berbeza dan membantu anda memahami kos ekonomi untuk menggunakan LLM kecil dan besar.

Pengenalan

Apabila anda menggunakan model sumber terbuka di luar, terdapat banyak pilihan API yang mudah digunakan. Saya cadangkan menyemak senarai ini untuk beberapa pilihan. Anda juga boleh memilih untuk menjadi tuan rumah sendiri-melihat bahagian kesimpulan tempatan dalam senarai yang sama.

Walau bagaimanapun, anda mungkin perlu menggunakan model peribadi, halus, atau kurang biasa.

Anda pasti boleh menjadi tuan rumah model -model ini secara tempatan, tetapi komputer anda memerlukan sumber yang cukup, dan anda mungkin ingin mengintegrasikan model -model ini ke dalam aplikasi yang dijalankan pada pelayan lain.

Ini membawa kami untuk menganjurkan model sumber terbuka atas permintaan atau melalui platform tanpa pelayan. Ideanya ialah anda hanya membayar sumber yang anda gunakan, sama ada pada permintaan atau larian, seperti tanpa pelayan.

Kerja tanpa pelayan dan atas permintaan yang sedikit serupa, tetapi dengan pelayan, ia lebih cepat untuk diturunkan sehingga anda tidak perlu membayar sumber terbiar.

Anda boleh menyemak doodle saya di bawah untuk lebih banyak perbandingan.

Dalam artikel ini, kami akan membandingkan EC2 dan Lambda AWS dengan beberapa platform baru yang semakin popular baru -baru ini.

Economics of Hosting Open Source LLMs Dengan cara ini, anda dapat lebih memahami apa yang paling sesuai.

Sebagai nota sampingan, saya tidak menerima apa -apa pampasan daripada vendor ini, jadi maklumat yang saya kongsi di sini adalah pendapat peribadi saya.

Jika anda adalah pihak berkepentingan, ini adalah cara yang baik untuk memahami ekonomi pilihan yang berbeza dan kos kesimpulan berjalan berdasarkan saiz model dan pilihan vendor.

Bahagian pertama artikel meliputi penyelidikan, yang mana sesiapa boleh mengambil bahagian, sementara bahagian kedua merangkumi aspek teknologi penempatan yang mungkin atau mungkin tidak mahu membaca.

Rangka Kerja Perkhidmatan LLM

Sekarang, sebelum kita memulakan, saya ingin mengulas mengenai rangka kerja Inference LLM yang memudahkan menubuhkan titik akhir API untuk model perkhidmatan. Terdapat beberapa kerangka perkhidmatan sumber terbuka yang tersedia, termasuk VLLM, Tensorrt, dan TGI, yang boleh kita gunakan di sini.

Anda boleh menyemak beberapa rangka kerja yang lebih popular di bahagian Rangka Kerja LLM dalam senarai yang saya kongsi sebelum ini (lihat di bawah).

Economics of Hosting Open Source LLMs Sesetengah orang telah mengukur perbezaan prestasi antara rangka kerja ini dan anda pasti perlu melakukan penyelidikan anda sendiri.

Walau bagaimanapun, dalam artikel ini, kami akan menggunakan VLLM, yang digunakan secara meluas - kecuali model yang digunakan melalui titik akhir muka yang memeluk, yang secara automatik akan menggunakan TGI untuk kami.

Untuk menggunakan model penukar yang lebih kecil yang berjalan pada CPU, saya hanya menggunakan muka pelukan

Pipeline atau Transformers Library secara langsung.

Penyelidikan

Di bahagian pertama, kita akan melihat kecekapan, kos, dan prestasi pemilihan dan pemilihan tanpa pelayan. Kami akan mula memperkenalkan metrik dan kemudian menggali sebarang butiran teknikal.

Masa pemprosesan

mari kita mengukur terlebih dahulu jumlah masa pemprosesan di seluruh platform apabila bekas berada dalam keadaan yang dipanaskan (iaitu digunakan dalam beberapa saat yang lalu) dan tidak ada kesesuaian.

Kami menentukan masa pemprosesan sebagai jumlah masa yang diperlukan untuk menyelesaikan respons.

Sila ambil perhatian bahawa sesetengah orang mungkin mengukur masa tindak balas pertama, terutamanya apabila output streaming.

Untuk konsistensi, saya menggunakan prompt yang sama untuk setiap ujian. Untuk model 400m, saya menyusun teks itu menjadi 30 keping.

anda dapat melihat penunjuk di bawah.

Saya hanya menjalankan ujian ini beberapa kali pada setiap platform pada hari yang sama. Idealnya, saya harus menguji mereka dalam beberapa hari. Saya mungkin tidak bernasib baik untuk beberapa ujian ini. Economics of Hosting Open Source LLMs Walau bagaimanapun, untuk membincangkan prestasi mereka, untuk pembekal tanpa pelayan, modal dan rasuk berfungsi dengan baik pada CPU (ditunjukkan sebagai bar hijau cahaya). Lebih mudah untuk memulakan model 400m daripada memulakan model 8B.

Saya mendapati bahawa walaupun dengan model yang lebih kecil (kurang daripada 130m) berfungsi dengan AWS Lambda, terutamanya apabila menggunakan model cache EFS.

Walaupun saya benar -benar suka memeluk titik akhir muka, saya mendapati contoh CPU mereka sedikit tidak dapat diramalkan. Walau bagaimanapun, contoh GPU AWS mereka sangat dipercayai dan pantas.

Walaupun saya menjadi tuan rumah model 7B pada contoh L4, saya dapat mendapatkan respons yang sangat cepat pada GPU, yang boleh kembali dalam 10 saat - ini adalah sesuatu yang tidak dapat kita laksanakan dengan penyedia tanpa pelayan, yang penyedia tanpa pelayan memerlukan lebih banyak GPU yang kuat.

Jika kita memilih GPU A100, kita akan melihat bahawa semua penyedia berfungsi dengan baik untuk model parameter 7B-8B dan boleh mengembalikan respons penuh dalam beberapa saat.

Sudah tentu, kelajuannya sangat cepat, tetapi kita perlu mempertimbangkan penunjuk lain.

permulaan sejuk

Seterusnya, mari kita menyelam ke permulaan yang sejuk, iaitu berapa lama masa yang diperlukan untuk bertindak balas jika model itu tidak digunakan untuk seketika. Walaupun anda cache model, ia mungkin masih perlu memuat turun shard, yang mungkin menambah beberapa saat.

Perkhidmatan atas permintaan mungkin membolehkan anda untuk mencuci model untuk mempercepatkan masa permulaan, saya tidak melakukan ini di sini, tetapi kebanyakan penyedia tanpa pelayan akan menunjukkan kepada anda bagaimana untuk cache model pada masa membina, yang dapat mengurangkan latensi boot sejuk.

Mari kita lihat petunjuk platform berikut.

Economics of Hosting Open Source LLMs Sila ambil perhatian bahawa saya mengira keseluruhan masa pemprosesan semasa permulaan sejuk, pastikan anda menyemak pengiraan permulaan yang sejuk secara langsung.

Seperti yang dijangkakan, perkhidmatan atas permintaan saya yang tidak mempunyai model cache yang tidak baik, seperti bentoml, memeluk titik akhir muka, dan Baseten.

Walaupun titik akhir muka yang memeluk dapat berfungsi dengan baik selepas berlari, anda mungkin masih mengalami permulaan yang sejuk yang terakhir 30 saat hingga 5 minit, yang boleh menjadi masalah jika anda perlu skala dan skala kerap. Mereka juga membuang 500 kesilapan sebelum bekas dijalankan sepenuhnya.

Penyedia tanpa pelayan lebih cepat kerana mereka direka untuk skala dengan cepat dengan mengharuskan kami untuk mencatatkan berat model pada penggunaan pertama.

Beam melakukan yang terbaik pada CPU, diikuti oleh Baseten, Modal dan Lambda dengan EFS. Model yang lebih kecil biasanya bermula lebih cepat. Lambda menunjukkan hasil yang sangat baik dengan masa pemprosesan cepat dan latensi permulaan sejuk yang minimum untuk model kecil dengan hanya parameter 125m.

walaupun saya fikir ia adalah baik untuk menggunakan modal atau rasuk untuk model yang lebih kecil.

GPU dan CPU Harga

mari kita beralih kepada harga. Kita perlu melihat kos CPU, memori, dan sumber GPU.

Terdapat beberapa perbezaan yang jelas antara platform.

Penyedia tanpa pelayan sering lebih mahal kerana mereka mengenakan bayaran CPU dan memori selain penggunaan GPU. Walau bagaimanapun, mereka tidak akan mengenakan bayaran untuk masa terbiar, yang dapat membantu mengimbangi kos yang lebih tinggi.

Anda boleh mencari harga NVIDIA GPU dalam gambar di bawah.

Walau bagaimanapun, anda harus melihat Sagemaker, yang mempunyai kos GPU tertinggi bagi mereka semua. Jika anda perlu menggunakan AWS, lebih baik menggunakan EC2 secara langsung.

Economics of Hosting Open Source LLMs mari kita lihat harga CPU juga.

Memeluk titik akhir muka memimpin pada $ 0.07, dengan 2 VCPU dan 4GB memori, malangnya keadaan CPU mereka kurang baik.

Economics of Hosting Open Source LLMs rasuk dan modal membolehkan anda menyesuaikan sumber yang anda perlukan, yang membantu meminimumkan kos. Untuk model 400m, saya mengira bahawa hanya 3GB memori dan 1 teras (2 VCPU) diperlukan pada kedua -dua platform.

Replikasi, sebaliknya, memaksa kita menggunakan 4 VCPU tanpa mengira saiz model, menjadikannya pilihan CPU yang paling mahal di sini.

Kami akan meliputi beberapa kes penggunaan untuk membandingkan harga dan kecekapan semua platform ini.

Kes 1: Model 400m Penalaan Fine-Tuning Berjalan pada CPU

Kes pertama akan menjadi operasi sporadis model 400m sepanjang hari. Ini bermakna setiap panggilan ke bekas memerlukan skala dan downsize.

Ia tidak semestinya perlu untuk skala dan skala ke bawah, tetapi kita perlu mengiranya.

Saya menjalankan kajian kes ini dengan mengikat 30 teks untuk setiap panggilan (menggunakan model penalaan halus yang lebih kecil) dengan 250 panggilan sepanjang hari.

Untuk kesederhanaan, kami mengandaikan bahawa bekas itu dimulakan sejuk setiap kali ia berjalan (kecuali titik akhir muka yang memeluk).

Pembekal tanpa pelayan adalah pilihan yang lebih baik di sini kerana kami tidak akan membayar untuk masa terbiar seperti yang kami lakukan atas permintaan. Bagi Bentoml, kita perlu tetap terbiar sekurang -kurangnya 5 minit sebelum mengurangkan saiz secara automatik, dan untuk titik akhir HF, kita perlu menunggu selama 15 minit.

Economics of Hosting Open Source LLMs

Nota sampingan, jika anda tidak biasa dengan pengurangan skala automatik, konsep ini bermakna bahawa jika dibenarkan, kami akan memberitahu platform untuk secara automatik skala contoh kami.

Mereka semua mempunyai keperluan yang berbeza, titik akhir baseten dan HF mempunyai 15 minit tingkap percuma, manakala Bentoml mempunyai 5 minit.

Sejak titik akhir HF mengambil masa sekurang-kurangnya 15 minit untuk diturunkan, jika kita memanggil fungsi setiap 5-6 minit, ia tidak akan mempunyai masa untuk menurunkan, jadi kita mempunyai sedikit permulaan yang sejuk, tetapi kebanyakan masa adalah terbiar .

kita dapat melihat bahawa mempunyai 17 jam masa lapang seperti kes HF, dan 18 jam dalam kes Bentoml sememangnya tidak cekap. Kami akan membayar sebahagian besar dana untuk sumber terbiar sepanjang hari.

satu sen atau satu dolar di sini dan tidak sepatutnya banyak untuk beberapa hari pertama anda, tetapi ia akan berkumpul selepas beberapa ketika.

Economics of Hosting Open Source LLMs Fikirkan tentang orang yang menjimatkan sedikit wang dalam akaun simpanan mereka setiap hari - overpaying di sini akan sebaliknya.

Tetapi bagaimana jika kita menjalankan semua 250 panggilan sementara bekas berada dalam keadaan yang dipanaskan? Berapa banyak perbezaan yang akan ada?

Beams

Economics of Hosting Open Source LLMs nampaknya menjadi lebih baik di sini, tetapi saya fikir mereka berjalan lebih daripada CPU maksimum yang platform lain tidak membolehkan anda menggunakannya.

Dalam kes ini, permulaan sejuk dan masa lapang hilang. Ini menunjukkan bahawa jika anda bekerja pada segala -galanya sekaligus, menggunakan bekas yang berterusan adalah pilihan yang lebih baik - ia jauh lebih murah.

Perlu diingat bahawa untuk memeluk titik akhir muka dan bentoml, model 400m paling sesuai untuk T4 GPU. Penetapan ini mengurangkan kos sementara mengurangkan masa pemprosesan dengan ketara.

Satu perkara yang perlu diperhatikan ialah jika anda menggunakan AWS Lambda dengan EFS, anda akan menanggung caj tambahan untuk Gateway NAT, yang boleh meningkat sebanyak $ 1 hingga $ 3 sehari, yang akan menjadikan jumlah kos lebih tinggi daripada apa yang ditunjukkan di sini.

Sekarang, mari kita beralih ke kes kedua - model yang lebih besar dengan parameter 7B hingga 8B yang berjalan pada GPU.

Kes 2: Model General 8b yang berjalan pada GPU

Untuk kes ini, saya telah menguji model saiz seperti Mistral, Gemma, atau Llama, seperti Mistral, Gemma, atau Llama.

Adegan ini melibatkan panggilan sporadis ke model 250 kali sepanjang hari. Kami mengandaikan bahawa bekas akan skala dan skala turun setiap kali ia dipanggil, walaupun ini tidak selalu berlaku.

Sama seperti ujian CPU, kami mengandaikan bahawa perkhidmatan atas permintaan berjalan selama 24 jam kerana ia tidak mempunyai masa untuk menurunkan.

Saya telah memastikan untuk menulis contoh GPU yang kami gunakan untuk setiap vendor. Sila periksa carta bar di bawah.

Economics of Hosting Open Source LLMs Untuk penyedia tanpa pelayan, saya telah sedikit membesar -besarkan masa pemprosesan dengan pendaraban, tetapi dikecualikan sejuk bermula dari jumlah pengiraan harga.

Walaupun kos sebenar mungkin lebih rendah, pelarasan ini adalah untuk berhati -hati. Anda mungkin dikenakan bayaran lebih banyak kerana anda akan membayar beberapa permulaan.

Economics of Hosting Open Source LLMs Seperti yang kita lihat dalam kes CPU kami, yang menjalankan 250 panggilan pada masa itu lebih kos efektif.

Jika anda menubuhkan pengiraan untuk model paling murah antropik dan terbuka dan membandingkannya dengan kos hosting diri, anda akan mendapati bahawa model yang memanggil mereka dengan kos prompt yang sama kurang daripada yang anda hosting.

orang memanggil pembekal ini McDonald's dari LLM.

Kami fikir sumber terbuka akan lebih murah, tetapi kami tidak mengira ekonomi unit sebenar hosting. Platform ini juga disubsidi oleh dana modal teroka. Tetapi, seperti yang saya nyatakan sebelum ini, lebih murah untuk menggunakan vendor yang anda dapati di sini untuk mengakses model sumber terbuka.

Jika anda mahu menggali pengiraan terperinci, anda boleh melihat fail ini. Amaran yang adil - ia kelihatan sedikit kemas.

Pengalaman Pengguna

Anda mungkin telah membuat kesimpulan anda sendiri setakat ini, tetapi perkara terakhir yang saya ingin perkenalkan adalah pengalaman pengguna.

HF Endpoints sangat mudah digunakan jika anda bukan pengkod, kerana anda boleh menggunakan model dari pusat Huggingface dengan klik mudah. Jika anda tahu beberapa teknologi, anda mungkin lebih suka pilihan lain yang anda boleh mengawal lebih banyak.

Untuk meniru, mereka mempunyai pangkalan peminat yang besar dan banyak model awam yang dikongsi oleh orang yang berbeza. Terdapat komuniti di sekitar. Mereka mempunyai beberapa latihan satu klik dan proses penempatan untuk menjadikan operasi lebih mudah.

Walau bagaimanapun, saya dapati modal, rasuk dan bentoml mempunyai pengalaman pemaju yang baik secara keseluruhan. Anda boleh menggunakan terus dari terminal dan mempunyai kod yang dijalankan pada pelayannya.

Untuk meniru, jika anda menggunakan model anda sendiri, anda memerlukan mesin GPU, dan untuk Baseten, anda perlu memuat turun perpustakaan yang dipanggil Truss, yang akan mengambil sedikit masa.

Saya telah mengumpul beberapa nota saya dalam jadual ini (lihat di bawah).

Jika anda berminat untuk menggunakan mana -mana, jadual juga akan mengandungi pautan untuk memulakan skrip. Economics of Hosting Open Source LLMs

Sekarang kita telah meliputi sebahagian besar aspek bukan teknikal, saya akan membimbing anda melalui dua pilihan penempatan untuk model yang berfungsi dengan baik pada CPU, AWS Lambda dan Modal.

Butiran Teknikal

Dalam bahagian ini, kami akan memperkenalkan cara untuk menggunakan model 400m saya yang disesuaikan untuk pengekstrakan kata kunci menggunakan AWS Lambda dan EFS dan membandingkannya dengan penyebaran pada platform yang dikemas kini seperti Modal.

Kedua -dua alat adalah tanpa pelayan, yang bermaksud kita perlu cache model dengan betul apabila membina supaya kita dapat dengan cepat mengaksesnya dalam larian berterusan. AWS menyediakan skrip siap sedia yang kita dapat dengan mudah menyesuaikan diri, dan saya juga menyediakan skrip untuk modal di sini.

Kami akan memberi tumpuan kepada dua perkara: bagaimana untuk menggunakan model pada setiap platform dan mencerminkan perbezaan utama dalam proses penempatan.

digunakan ke lambda menggunakan EFS

Untuk bahagian ini, anda boleh membacanya atau mengikutinya untuk digunakan.

Untuk mengikutinya, anda perlu memasang Git, AWS CDK, Docker, NodeJS 18, Python 3.9 pada komputer anda. Selepas anda memasang semua ini, anda boleh membuka terminal baru.

Jika anda ingin membuat direktori baru, maka klon repositori di bawah.

<code>git clone https://github.com/aws-samples/zero-administration-inference-with-aws-lambda-for-hugging-face.git</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Masukkan direktori yang dibuat.

<code>cd zero-administration-inference-with-aws-lambda-for-hugging-face</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Anda kini boleh membuka fail ini dalam editor kod anda.

Saya menggunakan vscode, jadi saya melakukannya.

<code>.code</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sekarang kita boleh pergi ke fail yang dibuat dan membuat beberapa penyesuaian kepadanya. Melihat folder kesimpulan, anda akan melihat dua fail, sentimen.py dan ringkasan.py.

Economics of Hosting Open Source LLMs kita dapat dengan mudah mengubah model dalam fail -fail ini kepada yang kita mahu.

Jika anda pergi ke pusat Huggingface dan cari model yang anda minati.

Saya akan menggunakan salah satu model saya sendiri.

Economics of Hosting Open Source LLMs Jika anda berminat untuk mempelajari cara membina model sedemikian, anda boleh menyemak tutorial pengekstrakan kata kunci dan tutorial klasifikasi teks untuk di sini.

Selepas mencari model yang anda minati, anda boleh mengklik butang "Gunakan Model ini".

Seperti yang anda lihat, kami mempunyai dua pilihan di sini, tetapi sejak skrip ini menggunakan saluran paip, kita boleh melakukan perkara yang sama. Economics of Hosting Open Source LLMs

Saya telah menukar kod dalam fail berikut menggunakan model baru yang biasanya saya gunakan, sementara juga mengharapkan "teks" digunakan untuk pemprosesan batch, bukan hanya "teks".

<code>git clone https://github.com/aws-samples/zero-administration-inference-with-aws-lambda-for-hugging-face.git</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Anda boleh melihat imej di atas untuk melihat struktur fail.

Saya menukar kedua -dua skrip menggunakan model yang berbeza yang biasanya saya gunakan. Selepas anda selesai, pastikan untuk menyimpan skrip.

Anda kemudian boleh menubuhkan persekitaran maya di terminal.

<code>cd zero-administration-inference-with-aws-lambda-for-hugging-face</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sebelum memuat turun keperluan, pastikan anda mempunyai NodeJS 18.

<code>.code</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Anda perlu memastikan bahawa pengguna yang anda konfigurasikan dengan CDK AWS mempunyai kebenaran yang betul sebelum anda boleh melakukan apa -apa lagi.

Selepas
<code># inference/summarization.py

import json
from transformers import pipeline

extractor = pipeline("text2text-generation", model="ilsilfverskiold/tech-keywords-extractor")

def handler(event, context):
    # texts should be an array
    texts = event['texts']
    response = {
        "statusCode": 200,
        "body": extractor(texts)[0]
    }
    return response</code>
Salin selepas log masuk
Salin selepas log masuk
, anda boleh menjalankan bootstrap.

<code>python3 -m venv venv
source venv/bin/activate</code>
Salin selepas log masuk
Salin selepas log masuk
Jika anda mempunyai masalah dengan ECR di sini, buat repositori secara manual.

Jika anda menjalankan Docker pada komputer anda, kini anda boleh menggunakannya melalui terminal.

<code>pip install -r requirements.txt</code>
Salin selepas log masuk
Salin selepas log masuk
Dari sini, CDK mula membina imej Docker untuk fungsi Lambda menggunakan Dockerfile dalam folder Inference. Setiap fungsi lambda dilengkapi dengan

8 GB memori dan 600 saat masa .

Ia akan mewujudkan gerbang internet, EFS untuk model caching, beberapa fungsi Lambda berasaskan Docker (untuk dua model dalam skrip hosting), dan beberapa peranan IAM untuk pelaksanaan Lambda

VPC. Ini akan mengambil sedikit masa.

Saya melakukan ini di sebuah kampung kecil di Itali, jadi sambungan internet saya gagal dan saya terpaksa menyewa mesin GPU untuk digunakan.

Economics of Hosting Open Source LLMs Ini mungkin tidak berlaku kepada anda, tetapi pastikan anda mempunyai sumber yang mencukupi dan sambungan internet yang stabil untuk digunakan.

Selepas penempatan selesai, anda boleh pergi ke Lambda dalam konsol AWS dan mencari fungsi baru anda. Anda boleh menguji mereka terus di sana. Larian pertama akan lebih perlahan, tetapi apabila ia dipanaskan, kelajuan akan lebih cepat.

Berikut adalah beberapa arahan yang sejak fungsi Lambda terletak di subnet swasta (dalam VPC), ia tidak dapat mengakses Internet, itulah sebabnya AWS membuat gerbang NAT untuk anda. Walau bagaimanapun, menggunakan gerbang NAT adalah mahal, dan tidak kira berapa banyak yang anda gunakan, ia akan menanggung kira-kira $ 1-3 sehari.

kita boleh cuba meletakkan fungsi lambda dalam subnet awam, tetapi malangnya saya tidak mencubanya. Mungkin ada cara untuk memintas masalah ini untuk membuat titik akhir VPC.

Kami memerlukan VPC untuk EFS supaya kami dapat mencurigakan model supaya kami tidak perlu memuat turunnya setiap kali kami memanggil fungsi. Ya, AWS Lambda mempunyai peringkat bebas yang sangat murah hati, tetapi kita perlu mengetahui kos lain ketika menambah sumber lain.

Apabila anda selesai, saya cadangkan anda memusnahkan sumber -sumber ini supaya anda tidak perlu membayar Nat Gateway 24/7.

<code>git clone https://github.com/aws-samples/zero-administration-inference-with-aws-lambda-for-hugging-face.git</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Arahan tambahan untuk menggunakan kaedah ini, anda tidak boleh menentukan memori dan CPU secara berasingan. Jika anda memerlukan lebih banyak CPU, anda perlu meningkatkan memori, yang boleh menjadi mahal.

Walau bagaimanapun, apabila menggunakan model yang lebih kecil dengan parameter 125m atau kurang, saya tidak sepenuhnya mengabaikan AWS Lambda. Anda boleh mengkonfigurasi fungsi lambda dengan memori yang kurang.

Depploy to Modal

modal dicipta untuk menggunakan model ML, yang akan menjadikan proses ini lebih mudah. Kami menggunakan skrip yang kami gunakan di sini untuk menggunakan model yang sama seperti sebelumnya, dan anda boleh menemuinya di sini.

Apabila menggunakan, kami boleh menentukan memori, CPU, dan GPU secara langsung dalam fungsi. Kami juga boleh meminta agar titik akhir dibuat untuk kami dalam skrip, yang akan memudahkan untuk menguji model kami menggunakan titik akhir.

Tetapi hanya kerana kita menggunakan platform lain, itu tidak bermakna ia tidak akan membebankan kita juga wang.

ingat pengiraan yang kami buat sebelum ini.

Untuk bermula, anda memerlukan akaun modal dan dipasang python3. Selepas membuat akaun, kami boleh membuka terminal dan membuat folder baru.

<code>cd zero-administration-inference-with-aws-lambda-for-hugging-face</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
maka kita boleh menubuhkan persekitaran maya.

<code>.code</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Gunakan PIP untuk memasang pakej modal.

<code># inference/summarization.py

import json
from transformers import pipeline

extractor = pipeline("text2text-generation", model="ilsilfverskiold/tech-keywords-extractor")

def handler(event, context):
    # texts should be an array
    texts = event['texts']
    response = {
        "statusCode": 200,
        "body": extractor(texts)[0]
    }
    return response</code>
Salin selepas log masuk
Salin selepas log masuk
Menggunakan

modal , semua sumber, tetapan persekitaran, dan pelaksanaan dilakukan pada platform mereka, bukan di premis, jadi kami tidak mempunyai masalah yang sama seperti yang digunakan untuk AWS.

Untuk mengesahkan, jalankan arahan ini.

<code>python3 -m venv venv
source venv/bin/activate</code>
Salin selepas log masuk
Salin selepas log masuk
Sekarang, jika anda tidak mempunyai sebarang fail dalam folder, buat satu.

<code>pip install -r requirements.txt</code>
Salin selepas log masuk
Salin selepas log masuk
Anda hanya boleh menampal kod berikut ke dalamnya, tetapi kami juga akan memperkenalkannya.

<code>{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:*",
                "ssm:*",
                "iam:*",
                "lambda:*",
                "s3:*",
                "ec2:*",
                "logs:*",
                "cloudformation:*",
                "elasticfilesystem:*"
            ],
            "Resource": "*"
        }
    ]
}</code>
Salin selepas log masuk
Ingat, saya menggunakan model yang sama, anda boleh menggunakan model lain.

Untuk menggunakan, jalankan arahan berikut.

<code>cdk bootstrap</code>
Salin selepas log masuk
Skrip ini menetapkan aplikasi yang dipanggil "generasi teks" dalam

modal dan membina imej docker dengan kebergantungan yang diperlukan (huggingface, transformer, dan obor).

Ia memasang kebergantungan ini secara langsung dalam persekitaran modal, jadi anda tidak perlu berurusan dengan mereka secara tempatan. Permintaan aplikasi 1 CPU Core dan 3 GB memori , yang merupakan tetapan yang saya gunakan semasa ujian saya.

Cache model diproses oleh @modal.build () , yang menggunakan snapshot_download () untuk mengekstrak model dari memeluk muka dan simpan di /cache. Kita perlu melakukan ini supaya ia boleh dipanggil lebih cepat pada boot sejuk.

@modal.enter () Penghias berjalan pada panggilan pertama ke kelas TextExtraction, memuatkan tokenizer dan model dari fail cache ke dalam ingatan.

Selepas memuatkan model, anda boleh memanggil kaedah extract_text () untuk menjalankan kesimpulan. @modal.web_endpoint menetapkan titik akhir API tanpa pelayan yang membolehkan anda memukul extract_text () melalui permintaan pos dan mendapatkan hasil pengekstrakan teks.

keseluruhan proses berjalan dalam persekitaran modal, jadi kita tidak perlu bimbang sama ada komputer anda mempunyai sumber yang cukup. Sudah tentu, ini lebih penting untuk model yang lebih besar.

Selepas penempatan selesai, anda akan melihat sesuatu yang serupa dengan ini di terminal, yang mengandungi titik akhir anda.

Economics of Hosting Open Source LLMs Anda boleh melihat aplikasi ini di papan pemuka modal.

Untuk menjalankan fungsi ini, anda boleh memanggil URL yang anda dapatkan di terminal.

<code>git clone https://github.com/aws-samples/zero-administration-inference-with-aws-lambda-for-hugging-face.git</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini tidak menambah pengesahan, lihat dokumentasi Modal untuk menambah ciri ini.

Beberapa arahan

Seperti yang telah anda pelajari sekarang, dengan sebarang pilihan penempatan, anda perlu cache model terlebih dahulu pada masa membina untuk memastikan sejuk lebih cepat bermula selepas skala ke bawah. Jika anda ingin cuba menggunakan mana -mana platform lain, anda boleh menyemak semua skrip starter di sini.

menggunakan platform baru tidak semestinya buruk, dan ia akan menjadi lebih cepat. Walau bagaimanapun, kadang -kadang organisasi anda mempunyai sekatan yang ketat pada platform yang membolehkan anda menggunakannya.

pilihan yang lebih mudah untuk digunakan, dan mungkin juga sedikit lebih tinggi, tetapi yang saya tunjukkan anda tidak jauh berbeza daripada kos menggunakan EC2 secara langsung.

Jika anda telah melihat ini, saya harap anda memahami penyelidikan yang saya lakukan di sini dan ia akan membantu anda memilih pembekal.

Atas ialah kandungan terperinci Ekonomi Mengadakan LLM Sumber Terbuka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan