Amazon SageMaker JumpStart'ta büyük dil modeli yanıtlarını yayınlayın | Amazon Web Hizmetleri

Amazon SageMaker JumpStart'ta büyük dil modeli yanıtlarını yayınlayın | Amazon Web Hizmetleri

Bunu duyurmaktan heyecan duyuyoruz Amazon SageMaker Hızlı Başlangıç artık büyük dil modeli (LLM) çıkarım yanıtlarını aktarabiliyor. Belirteç akışı, LLM'lerin kullanımınıza veya görüntülemenize sunulmadan önce yanıt oluşturmayı bitirmesini beklemek yerine, model yanıt çıktısını oluşturulurken görmenize olanak tanır. SageMaker JumpStart'ın akış özelliği, son kullanıcı için düşük gecikme algısı yaratarak daha iyi kullanıcı deneyimine sahip uygulamalar oluşturmanıza yardımcı olabilir.

Bu yazıda, bir yanıtın nasıl dağıtılacağını ve yayınlanacağını açıklıyoruz. Falcon 7B Talimat modeli uç nokta.

Bu yazının yazıldığı sırada, SageMaker JumpStart'ta mevcut olan aşağıdaki LLM'ler akışı desteklemektedir:

  • Mistral AI 7B, Mistral AI 7B Talimatı
  • Falcon 180B, Falcon 180B Sohbet
  • Falcon 40B, Falcon 40B Talimatı
  • Falcon 7B, Falcon 7B Talimatı
  • Rinna Japon GPT NeoX 4B Talimatı PPO
  • Rinna Japon GPT NeoX 3.6B Talimatı PPO

SageMaker JumpStart'ta akışı destekleyen modeller listesindeki güncellemeleri kontrol etmek için şu adreste "huggingface-llm" ifadesini arayın. Önceden eğitilmiş Model Tablosu ile Yerleşik Algoritmalar.

kullanabileceğinizi unutmayın. akış özelliği of Amazon Adaçayı Yapıcı bölümünde açıklandığı gibi SageMaker TGI Deep Learning Container (DLC) kullanılarak dağıtılan herhangi bir model için kutudan çıktığı gibi barındırma Amazon SageMaker'da yeni Hugging Face LLM Inference kapsayıcılarının lansmanının duyurulması.

SageMaker'daki temel modelleri

SageMaker JumpStart, SageMaker'daki makine öğrenimi geliştirme iş akışınızda kullanabileceğiniz Hugging Face, PyTorch Hub ve TensorFlow Hub gibi popüler model merkezlerinden çeşitli modellere erişim sağlar. ML'deki son gelişmeler, olarak bilinen yeni bir model sınıfının ortaya çıkmasına neden oldu. temel modelleriGenellikle milyarlarca parametre üzerinde eğitilen ve metin özetleme, dijital sanat oluşturma ve dil çevirisi gibi çok çeşitli kullanım senaryolarına uyarlanabilen. Bu modellerin eğitimi pahalı olduğundan müşteriler, bu modelleri kendileri eğitmek yerine mevcut önceden eğitilmiş temel modellerini kullanmak ve gerektiğinde bunlara ince ayar yapmak ister. SageMaker, SageMaker konsolunda arasından seçim yapabileceğiniz seçilmiş bir model listesi sunar.

Artık SageMaker JumpStart'ta farklı model sağlayıcıların temel modellerini bulabilir ve temel modellerine hızlı bir şekilde başlamanıza olanak tanıyabilirsiniz. SageMaker JumpStart, farklı görevlere veya model sağlayıcılara dayalı temel modeller sunar ve model özelliklerini ve kullanım koşullarını kolayca inceleyebilirsiniz. Bu modelleri bir test kullanıcı arayüzü widget'ı kullanarak da deneyebilirsiniz. Geniş ölçekte bir temel modeli kullanmak istediğinizde, model sağlayıcıların önceden oluşturulmuş dizüstü bilgisayarlarını kullanarak bunu SageMaker'dan ayrılmadan yapabilirsiniz. Modeller AWS'de barındırıldığı ve dağıtıldığı için, modeli değerlendirmek veya geniş ölçekte kullanmak için kullanılan verilerinizin üçüncü taraflarla paylaşılmayacağına güvenirsiniz.

Jeton akışı

Belirteç akışı, çıkarım yanıtının model tarafından oluşturulurken döndürülmesine olanak tanır. Bu şekilde, tam yanıtı sağlamadan önce modelin bitmesini beklemek yerine, artan yanıtın oluşturulduğunu görebilirsiniz. Akış, son kullanıcının gecikme algısını azalttığı için daha iyi bir kullanıcı deneyimi sağlanmasına yardımcı olabilir. Çıktıyı oluşturulduğu anda görmeye başlayabilirsiniz ve bu nedenle çıktı, amaçlarınız açısından yararlı görünmüyorsa oluşturmayı erken durdurabilirsiniz. Akış, özellikle uzun süren sorgular için büyük bir fark yaratabilir çünkü çıktıları oluşturulduğu anda görmeye başlayabilirsiniz; bu, uçtan uca gecikme aynı kalsa bile daha düşük gecikme algısı yaratabilir.

Bu yazının yazıldığı an itibariyle, Hugging Face LLM'yi kullanan modeller için SageMaker JumpStart'ta akışı kullanabilirsiniz. Metin Oluşturma Çıkarımı DLC.

Buharlama Olmadan Yanıt Akışla Yanıt

Çözüme genel bakış

Bu yazı için SageMaker JumpStart akış yeteneğini sergilemek amacıyla Falcon 7B Instruct modelini kullanıyoruz.

SageMaker JumpStart'ta akışı destekleyen diğer modelleri bulmak için aşağıdaki kodu kullanabilirsiniz:

from sagemaker.jumpstart.notebook_utils import list_jumpstart_models
from sagemaker.jumpstart.filters import And filter_value = And("task == llm", "framework == huggingface")
model_ids = list_jumpstart_models(filter=filter_value)
print(model_ids)

Akışı destekleyen aşağıdaki model kimliklerini alıyoruz:

['huggingface-llm-bilingual-rinna-4b-instruction-ppo-bf16', 'huggingface-llm-falcon-180b-bf16', 'huggingface-llm-falcon-180b-chat-bf16', 'huggingface-llm-falcon-40b-bf16', 'huggingface-llm-falcon-40b-instruct-bf16', 'huggingface-llm-falcon-7b-bf16', 'huggingface-llm-falcon-7b-instruct-bf16', 'huggingface-llm-mistral-7b', 'huggingface-llm-mistral-7b-instruct', 'huggingface-llm-rinna-3-6b-instruction-ppo-bf16']

Önkoşullar

Dizüstü bilgisayarı çalıştırmadan önce kurulum için gerekli bazı başlangıç ​​adımları vardır. Aşağıdaki komutları çalıştırın:

%pip install --upgrade sagemaker –quiet

Modeli dağıtın

İlk adım olarak, Falcon 7B Instruct modelini dağıtmak için SageMaker JumpStart'ı kullanın. Talimatların tamamı için bkz. TII'nin Falcon 180B temel modeli artık Amazon SageMaker JumpStart'ta mevcut. Aşağıdaki kodu kullanın:

from sagemaker.jumpstart.model import JumpStartModel my_model = JumpStartModel(model_id="huggingface-llm-falcon-7b-instruct-bf16")
predictor = my_model.deploy()

Uç noktayı ve akış yanıtını sorgulama

Ardından, dağıtılan uç noktanızı çağırmak için bir veri yükü oluşturun. Daha da önemlisi, veri, anahtar/değer çiftini içermelidir "stream": True. Bu, metin oluşturma çıkarım sunucusuna bir akış yanıtı oluşturmasını belirtir.

payload = { "inputs": "How do I build a website?", "parameters": {"max_new_tokens": 256}, "stream": True
}

Uç noktayı sorgulamadan önce, bayt akışı yanıtını uç noktadan ayrıştırabilecek bir yineleyici oluşturmanız gerekir. Her belirtecin verileri yanıtta ayrı bir satır olarak sağlanır; böylece bu yineleyici, akış arabelleğinde her yeni satır tanımlandığında bir belirteç döndürür. Bu yineleyici minimal düzeyde tasarlanmıştır ve davranışını kullanım durumunuza göre ayarlamak isteyebilirsiniz; örneğin, bu yineleyici belirteç dizelerini döndürürken, satır verileri belirteç günlüğü olasılıkları gibi ilgi çekici olabilecek diğer bilgileri içerir.

import io
import json class TokenIterator: def __init__(self, stream): self.byte_iterator = iter(stream) self.buffer = io.BytesIO() self.read_pos = 0 def __iter__(self): return self def __next__(self): while True: self.buffer.seek(self.read_pos) line = self.buffer.readline() if line and line[-1] == ord("n"): self.read_pos += len(line) + 1 full_line = line[:-1].decode("utf-8") line_data = json.loads(full_line.lstrip("data:").rstrip("/n")) return line_data["token"]["text"] chunk = next(self.byte_iterator) self.buffer.seek(0, io.SEEK_END) self.buffer.write(chunk["PayloadPart"]["Bytes"])

Artık Boto3'ü kullanabilirsiniz invoke_endpoint_with_response_stream Oluşturduğunuz uç noktadaki API'yi kullanın ve bir akış üzerinde yineleme yaparak akışı etkinleştirin. TokenIterator örnek:

import boto3 client = boto3.client("runtime.sagemaker")
response = client.invoke_endpoint_with_response_stream( EndpointName=predictor.endpoint_name, Body=json.dumps(payload), ContentType="application/json",
) for token in TokenIterator(response["Body"]): print(token, end="")

Boş belirtme end parametresine print işlevi, yeni satır karakterleri eklenmeden görsel bir akışı etkinleştirir. Bu, aşağıdaki çıktıyı üretir:

Building a website can be a complex process, but it generally involves the following steps: 1. Determine the purpose and goals of your website
2. Choose a domain name and hosting provider
3. Design and develop your website using HTML, CSS, and JavaScript
4. Add content to your website and optimize it for search engines
5. Test and troubleshoot your website to ensure it is working properly
6. Maintain and update your website regularly to keep it running smoothly. There are many resources available online to guide you through these steps, including tutorials and templates. It may also be helpful to seek the advice of a web developer or designer if you are unsure about any of these steps.<|endoftext|>

Akışı çalışırken ve müşterilerinize sağladığı deneyimi görmek için bu kodu bir dizüstü bilgisayarda veya Streamlit veya Gradio gibi diğer uygulamalarda kullanabilirsiniz.

Temizlemek

Son olarak, ek maliyetlere maruz kalmamak için konuşlandırılmış modelinizi ve uç noktanızı temizlemeyi unutmayın:

predictor.delete_model()
predictor.delete_endpoint()

Sonuç

Bu yazıda size SageMaker JumpStart'ta yeni başlatılan akış özelliğini nasıl kullanacağınızı gösterdik. Daha iyi bir kullanıcı deneyimi için düşük gecikme gerektiren etkileşimli uygulamalar oluşturmak amacıyla jeton akışı özelliğini kullanacağınızı umuyoruz.


yazarlar hakkında

Amazon SageMaker JumpStart'ta büyük dil modeli yanıtlarını yayınlayın | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Rahna Çadha AWS'de Stratejik Hesaplar alanında Baş Çözüm Mimarı AI/ML'dir. Rachna, yapay zekanın etik ve sorumlu kullanımının gelecekte toplumu iyileştirebileceğine ve ekonomik ve sosyal refah getirebileceğine inanan bir iyimserdir. Rachna boş zamanlarında ailesiyle vakit geçirmeyi, yürüyüş yapmayı ve müzik dinlemeyi seviyor.

Amazon SageMaker JumpStart'ta büyük dil modeli yanıtlarını yayınlayın | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Doktor Kyle Ulrich Uygulamalı Bilim Adamıdır Amazon SageMaker yerleşik algoritmaları takım. Araştırma ilgi alanları arasında ölçeklenebilir makine öğrenimi algoritmaları, bilgisayar görüşü, zaman serileri, Bayes parametrik olmayanları ve Gauss süreçleri yer alır. Doktorası Duke Üniversitesi'ndendir ve NeurIPS, Cell ve Neuron'da yayınlanmış makaleleri vardır.

Amazon SageMaker JumpStart'ta büyük dil modeli yanıtlarını yayınlayın | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Ashish Khetan Amazon SageMaker yerleşik algoritmalarına sahip Kıdemli Uygulamalı Bilim Adamıdır ve makine öğrenimi algoritmalarının geliştirilmesine yardımcı olur. Doktora derecesini University of Illinois Urbana-Champaign'den almıştır. Makine öğrenimi ve istatistiksel çıkarım alanlarında aktif bir araştırmacıdır ve NeurIPS, ICML, ICLR, JMLR, ACL ve EMNLP konferanslarında birçok makale yayınlamıştır.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi