Dzisiaj z radością ogłaszamy, że modele fundamentów Code Llama opracowane przez firmę Meta są dostępne dla klientów za pośrednictwem Amazon SageMaker JumpStart wdrożyć jednym kliknięciem, aby uruchomić wnioskowanie. Code Llama to najnowocześniejszy model wielkojęzykowy (LLM) umożliwiający generowanie kodu i języka naturalnego na temat kodu zarówno na podstawie podpowiedzi w kodzie, jak i w języku naturalnym. Możesz wypróbować ten model za pomocą SageMaker JumpStart, centrum uczenia maszynowego (ML), które zapewnia dostęp do algorytmów, modeli i rozwiązań ML, dzięki czemu możesz szybko rozpocząć korzystanie z ML. W tym poście opisujemy, jak odkryć i wdrożyć model Code Llama za pomocą SageMaker JumpStart.
Kod Lama
Code Llama to model wydany przez firmę Meta zbudowany na bazie Llama 2. Ten najnowocześniejszy model został zaprojektowany w celu zwiększenia produktywności zadań programistycznych dla programistów, pomagając im w tworzeniu wysokiej jakości, dobrze udokumentowanego kodu. Modele wyróżniają się językami Python, C++, Java, PHP, C#, TypeScript i Bash i mogą zaoszczędzić czas programistów i zwiększyć efektywność przepływu pracy w oprogramowaniu.
Występuje w trzech wariantach, opracowanych z myślą o szerokiej gamie zastosowań: model podstawowy (Code Llama), model specjalistyczny w języku Python (Code Llama Python) oraz model oparty na instrukcjach do zrozumienia instrukcji języka naturalnego (Code Llama Instruct). Wszystkie warianty Code Llama są dostępne w czterech rozmiarach: parametry 7B, 13B, 34B i 70B. Warianty podstawowe i instruktażowe 7B i 13B obsługują wypełnianie w oparciu o otaczającą zawartość, co czyni je idealnymi do zastosowań asystenta kodowania. Modele zostały zaprojektowane przy użyciu Llama 2 jako podstawy, a następnie przeszkolone na 500 miliardach tokenów danych kodu, przy czym wyspecjalizowana wersja Pythona została przeszkolona na przyrostowych 100 miliardach tokenów. Modele Code Llama zapewniają stabilne generacje z maksymalnie 100,000 16,000 tokenów kontekstu. Wszystkie modele są szkolone na sekwencjach 100,000 XNUMX tokenów i wykazują ulepszenia na danych wejściowych z maksymalnie XNUMX XNUMX tokenów.
Model jest dostępny pod tą samą nazwą licencja społecznościowa jako Llama 2.
Modele podstawowe w SageMaker
SageMaker JumpStart zapewnia dostęp do szeregu modeli z popularnych centrów modeli, w tym Hugging Face, PyTorch Hub i TensorFlow Hub, których możesz używać w toku prac programistycznych ML w SageMaker. Ostatnie postępy w uczeniu maszynowym dały początek nowej klasie modeli znanych jako modele fundamentów, które są zazwyczaj szkolone na miliardach parametrów i można je dostosować do szerokiej kategorii przypadków użycia, takich jak podsumowywanie tekstu, generowanie dzieł sztuki cyfrowej i tłumaczenie językowe. Ponieważ uczenie tych modeli jest drogie, klienci chcą korzystać z istniejących, wstępnie wytrenowanych modeli podstawowych i dostrajać je w razie potrzeby, zamiast samodzielnie szkolić te modele. SageMaker udostępnia wyselekcjonowaną listę modeli, spośród których możesz wybierać w konsoli SageMaker.
W SageMaker JumpStart można znaleźć modele fundamentów od różnych dostawców modeli, co umożliwia szybkie rozpoczęcie pracy z modelami fundamentów. Możesz znaleźć modele podstawowe w oparciu o różne zadania lub dostawców modeli, a także łatwo przeglądać charakterystykę modelu i warunki użytkowania. Możesz także wypróbować te modele za pomocą widżetu testowego interfejsu użytkownika. Jeśli chcesz używać podstawowego modelu na dużą skalę, możesz to zrobić bez opuszczania programu SageMaker, korzystając z gotowych notatników od dostawców modeli. Ponieważ modele są hostowane i wdrażane w AWS, możesz mieć pewność, że Twoje dane, niezależnie od tego, czy zostaną użyte do oceny czy wykorzystania modelu na dużą skalę, nigdy nie zostaną udostępnione stronom trzecim.
Odkryj model Code Lamy w SageMaker JumpStart
Aby wdrożyć model Code Llama 70B, wykonaj następujące kroki w Studio Amazon SageMaker:
- Na stronie głównej SageMaker Studio wybierz Szybki start w okienku nawigacji.
- Wyszukaj modele Code Llama i wybierz model Code Llama 70B z wyświetlonej listy modeli.
Więcej informacji o modelu znajdziesz na karcie modelu Code Llama 70B.
Poniższy zrzut ekranu przedstawia ustawienia punktu końcowego. Możesz zmienić opcje lub użyć domyślnych.
- Zaakceptuj Umowę licencyjną użytkownika końcowego (EULA) i wybierz Rozmieścić.
Spowoduje to rozpoczęcie procesu wdrażania punktu końcowego, jak pokazano na poniższym zrzucie ekranu.
Wdróż model za pomocą pakietu SageMaker Python SDK
Alternatywnie możesz wdrożyć za pomocą przykładowego notesu, wybierając Otwórz notatnik na stronie szczegółów modelu w Classic Studio. Przykładowy notes zawiera kompleksowe wskazówki dotyczące wdrażania modelu na potrzeby wnioskowania i czyszczenia zasobów.
Aby wdrożyć za pomocą notebooka, zaczynamy od wybrania odpowiedniego modelu, określonego przez model_id
. Możesz wdrożyć dowolny z wybranych modeli w SageMaker za pomocą następującego kodu:
Spowoduje to wdrożenie modelu w SageMaker z domyślnymi konfiguracjami, w tym domyślnym typem instancji i domyślnymi konfiguracjami VPC. Można zmienić te konfiguracje, określając wartości inne niż domyślne w Model JumpStart. Pamiętaj, że domyślnie accept_eula
jest ustawione na False
. Musisz ustawić accept_eula=True
aby pomyślnie wdrożyć punkt końcowy. Robiąc to, akceptujesz umowę licencyjną użytkownika i zasady dopuszczalnego użytkowania, jak wspomniano wcześniej. Możesz również pobieranie umowę licencyjną.
Wywołaj punkt końcowy SageMaker
Po wdrożeniu punktu końcowego można przeprowadzić wnioskowanie przy użyciu programu Boto3 lub zestawu SDK języka Python SageMaker. W poniższym kodzie używamy pakietu SageMaker Python SDK do wywołania modelu w celu wnioskowania i wydrukowania odpowiedzi:
Funkcja print_response
pobiera ładunek składający się z ładunku i odpowiedzi modelu i drukuje dane wyjściowe. Code Lama obsługuje wiele parametrów podczas wnioskowania:
- maksymalna długość – Model generuje tekst do momentu osiągnięcia długości wyjściowej (w tym długości kontekstu wejściowego).
max_length
. Jeśli jest określony, musi być dodatnią liczbą całkowitą. - max_new_tokens – Model generuje tekst aż do osiągnięcia długości wyjściowej (z wyłączeniem długości kontekstu wejściowego).
max_new_tokens
. Jeśli jest określony, musi być dodatnią liczbą całkowitą. - liczba_wiązek – Określa liczbę wiązek używanych w wyszukiwaniu zachłannym. Jeśli określono, musi to być liczba całkowita większa lub równa
num_return_sequences
. - no_repeat_ngram_size – Model zapewnia, że sekwencja słów z
no_repeat_ngram_size
nie powtarza się w sekwencji wyjściowej. Jeśli jest określony, musi być dodatnią liczbą całkowitą większą niż 1. - temperatura – Kontroluje losowość sygnału wyjściowego. Wyższy
temperature
skutkuje sekwencją wyjściową ze słowami o niskim prawdopodobieństwie i niższymitemperature
skutkuje sekwencją wyjściową zawierającą słowa o wysokim prawdopodobieństwie. Jeślitemperature
wynosi 0, powoduje to zachłanne dekodowanie. Jeśli jest określony, musi to być dodatnia liczba zmiennoprzecinkowa. - wcześnie_zatrzymanie - Jeśli
True
, generowanie tekstu kończy się, gdy wszystkie hipotezy dotyczące wiązki dotrą do końca żetonu zdania. Jeśli jest określony, musi to być wartość logiczna. - zrobić_próbkę - Jeśli
True
, model próbkuje następne słowo zgodnie z prawdopodobieństwem. Jeśli jest określony, musi to być wartość logiczna. - góra_k – Na każdym etapie generowania tekstu model pobiera wyłącznie próbki z
top_k
najbardziej prawdopodobne słowa. Jeśli jest określony, musi być dodatnią liczbą całkowitą. - góra_p – Na każdym etapie generowania tekstu model pobiera próbki z najmniejszego możliwego zestawu słów ze skumulowanym prawdopodobieństwem
top_p
. Jeśli określono, musi to być liczba zmiennoprzecinkowa z zakresu od 0 do 1. - return_full_text - Jeśli
True
, tekst wejściowy będzie częścią tekstu wygenerowanego na wyjściu. Jeśli jest określony, musi to być wartość logiczna. Wartość domyślna toFalse
. - Zatrzymaj się – Jeśli określono, musi to być lista ciągów. Generowanie tekstu zostaje zatrzymane, jeśli zostanie wygenerowany którykolwiek z określonych ciągów.
Podczas wywoływania punktu końcowego można określić dowolny podzbiór tych parametrów. Następnie pokażemy przykład wywołania punktu końcowego z tymi argumentami.
Uzupełnianie kodu
Poniższe przykłady pokazują, jak wykonać uzupełnianie kodu, gdy oczekiwana odpowiedź punktu końcowego jest naturalną kontynuacją monitu.
Najpierw uruchamiamy następujący kod:
Otrzymujemy następujący wynik:
W następnym przykładzie uruchamiamy następujący kod:
Otrzymujemy następujący wynik:
Generowanie kodu
Poniższe przykłady pokazują generowanie kodu w języku Python przy użyciu Code Lama.
Najpierw uruchamiamy następujący kod:
Otrzymujemy następujący wynik:
W następnym przykładzie uruchamiamy następujący kod:
Otrzymujemy następujący wynik:
Oto niektóre przykłady zadań związanych z kodem przy użyciu Code Llama 70B. Możesz użyć modelu do wygenerowania jeszcze bardziej skomplikowanego kodu. Zachęcamy do wypróbowania go, korzystając z własnych przypadków użycia i przykładów związanych z kodem!
Sprzątać
Po przetestowaniu punktów końcowych pamiętaj o usunięciu punktów końcowych wnioskowania SageMaker i modelu, aby uniknąć naliczania opłat. Użyj następującego kodu:
Wnioski
W tym poście przedstawiliśmy Code Lama 70B w SageMaker JumpStart. Code Llama 70B to najnowocześniejszy model do generowania kodu na podstawie podpowiedzi w języku naturalnym oraz kodu. Możesz wdrożyć model w kilku prostych krokach w SageMaker JumpStart, a następnie użyć go do wykonywania zadań związanych z kodem, takich jak generowanie kodu i wypełnianie kodu. W następnym kroku spróbuj użyć modelu z własnymi przypadkami użycia i danymi związanymi z kodem.
O autorach
dr Kyle Ulrich jest naukowcem stosowanym w zespole Amazon SageMaker JumpStart. Jego zainteresowania badawcze obejmują skalowalne algorytmy uczenia maszynowego, wizję komputerową, szeregi czasowe, nieparametrykę Bayesa i procesy Gaussa. Jego doktorat uzyskał na Duke University i opublikował artykuły w czasopismach NeurIPS, Cell i Neuron.
Doktor Farooq Sabir jest starszym architektem rozwiązań w zakresie sztucznej inteligencji i uczenia maszynowego w AWS. Posiada tytuł doktora i magistra inżynierii elektrycznej uzyskany na University of Texas w Austin oraz tytuł magistra informatyki uzyskany na Georgia Institute of Technology. Ma ponad 15-letnie doświadczenie zawodowe, a także lubi uczyć i mentorować studentów. W AWS pomaga klientom formułować i rozwiązywać ich problemy biznesowe w zakresie nauki o danych, uczenia maszynowego, wizji komputerowej, sztucznej inteligencji, optymalizacji numerycznej i pokrewnych dziedzin. Mieszka w Dallas w Teksasie i wraz z rodziną uwielbia podróżować i wyruszać w długie podróże.
Wygrana czerwca jest menedżerem produktu w SageMaker JumpStart. Koncentruje się na ułatwianiu odkrywania i wykorzystywania modeli podstawowych, aby pomóc klientom w tworzeniu generatywnych aplikacji AI. Jego doświadczenie w Amazon obejmuje także aplikację do zakupów mobilnych i dostawę „ostatniej mili”.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/code-llama-70b-is-now-available-in-amazon-sagemaker-jumpstart/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 000
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 15 roku
- 15%
- 16
- 22
- 25
- 500
- 7
- 80
- 9
- a
- O nas
- Akceptuj
- do przyjęcia
- akceptacja
- dostęp
- zaliczki
- Umowa
- AI
- Algorytmy
- Wszystkie kategorie
- również
- Amazonka
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- i
- Ogłosić
- każdy
- Zastosowanie
- aplikacje
- stosowany
- właściwy
- SĄ
- argumenty
- Sztuka
- sztuczny
- sztuczna inteligencja
- Sztuczna inteligencja i uczenie maszynowe
- AS
- Asystent
- zapewniony
- At
- Austin
- dostępny
- uniknąć
- AWS
- baza
- na podstawie
- bash
- Bayesian
- BE
- Belka
- bo
- pomiędzy
- Miliard
- Miliard tokenów
- miliardy
- obie
- bańka
- budować
- wybudowany
- biznes
- by
- C + +
- wezwanie
- CAN
- zdolny
- karta
- nieść
- Etui
- Kategoria
- komórka
- zmiana
- Charakterystyka
- Opłaty
- Dodaj
- Wybierając
- klasa
- klasyczny
- kleń
- kliknij
- kod
- Studentki
- jak
- byliśmy spójni, od początku
- kompletny
- ukończenia
- skomplikowane
- komputer
- Computer Science
- Wizja komputerowa
- Składający się
- Konsola
- zawartość
- kontekst
- kontynuacja
- kontroli
- pokrywa
- Stwórz
- kurator
- Klientów
- Dallas
- dane
- nauka danych
- Rozszyfrowanie
- Domyślnie
- dostawa
- wykazać
- rozwijać
- wdrażane
- Wdrożenie
- wdraża się
- zaprojektowany
- detal
- rozwinięty
- deweloperzy
- oprogramowania
- różne
- cyfrowy
- Sztuka cyfrowa
- odkryj
- do
- robi
- domeny
- Książę
- uniwersytet książęcy
- każdy
- Wcześniej
- z łatwością
- wydajny
- umożliwiając
- zachęcać
- zakończenia
- koniec końców
- Punkt końcowy
- zaprojektowane
- Inżynieria
- zapewnia
- równy
- błąd
- oceny
- Parzyste
- przykład
- przykłady
- przewyższać
- Z wyjątkiem
- podniecony
- z pominięciem
- Przede wszystkim system został opracowany
- spodziewany
- drogi
- doświadczenie
- wykładniczy
- Twarz
- członków Twojej rodziny
- kilka
- Znajdź
- i terminów, a
- pływak
- koncentruje
- następujący
- W razie zamówieenia projektu
- Fundacja
- podstawowy
- cztery
- od
- funkcjonować
- Generować
- wygenerowane
- generuje
- generujący
- generacja
- Pokoleń
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- dany
- Go
- większy
- Chciwy
- poradnictwo
- Have
- he
- pomoc
- pomoc
- pomaga
- wysokiej jakości
- wyższy
- jego
- posiada
- Strona główna
- gospodarz
- hostowane
- W jaki sposób
- How To
- HTTPS
- Piasta
- koncentratory
- i
- idealny
- if
- importować
- podnieść
- ulepszenia
- in
- zawierać
- obejmuje
- Włącznie z
- przyrostowe
- Informacja
- wkład
- Wejścia
- przykład
- Instytut
- instrukcje
- Inteligencja
- zainteresowania
- wprowadzono
- IT
- Java
- jpg
- znany
- Kyle
- język
- duży
- Nazwisko
- nauka
- pozostawiając
- Długość
- Licencja
- prawdopodobieństwo
- Prawdopodobnie
- lubi
- Lista
- Lama
- LLM
- długo
- miłość
- niższy
- maszyna
- uczenie maszynowe
- zrobiony
- robić
- Dokonywanie
- kierownik
- wiele
- wzmiankowany
- mentor
- Meta
- mila
- ML
- Aplikacje mobilne
- model
- modele
- jeszcze
- bardziej wydajny
- większość
- MS
- musi
- Naturalny
- Nawigacja
- Potrzebować
- potrzebne
- nigdy
- Nowości
- Następny
- noty
- notatnik
- już dziś
- numer
- of
- on
- ONE
- te
- tylko
- optymalizacja
- Opcje
- or
- ludzkiej,
- na zewnątrz
- wydajność
- koniec
- własny
- strona
- chleb
- Papiery
- parametry
- część
- strony
- dla
- wykonać
- wykonywania
- PhD
- PHP
- plato
- Analiza danych Platona
- PlatoDane
- polityka
- Popularny
- pozytywny
- możliwy
- Post
- potencjał
- Urządzenie prognozujące
- wydruki
- problemy
- wygląda tak
- procesów
- Produkt
- product manager
- wydajność
- Programowanie
- monity
- zapewniać
- dostawców
- zapewnia
- opublikowany
- Python
- płomień
- szybko
- przypadkowość
- zasięg
- raczej
- dosięgnąć
- Osiąga
- niedawny
- związane z
- wydany
- powtórzony
- Badania naukowe
- Zasoby
- odpowiedź
- REST
- Efekt
- powrót
- rewers
- przeglądu
- Rosnąć
- droga
- run
- bieganie
- sagemaker
- Wnioskowanie SageMakera
- taki sam
- Zapisz
- skalowalny
- Skala
- nauka
- Naukowiec
- Sdk
- Szukaj
- wybrany
- wybierając
- senior
- wyrok
- Sekwencja
- Serie
- Usługi
- zestaw
- w panelu ustawień
- shared
- Zakupy
- pokazać
- pokazane
- Targi
- Prosty
- rozmiary
- So
- Tworzenie
- Rozwiązania
- ROZWIĄZANIA
- kilka
- specjalista
- wyspecjalizowanym
- określony
- określanie
- stabilny
- początek
- rozpoczęty
- state-of-the-art
- Ewolucja krok po kroku
- Cel
- Zatrzymuje
- sznur
- Studenci
- studio
- Z powodzeniem
- taki
- wsparcie
- podpory
- pewnie
- otaczający
- trwa
- zadania
- zespół
- Technologia
- tensorflow
- REGULAMIN
- test
- przetestowany
- texas
- XNUMX
- niż
- że
- Połączenia
- ich
- Im
- sami
- następnie
- Te
- Trzeci
- osoby trzecie
- to
- trzy
- Przez
- czas
- Szereg czasowy
- do
- żeton
- Żetony
- Top
- Pociąg
- przeszkolony
- Tłumaczenie
- podróżować
- poligon
- prawdziwy
- próbować
- rodzaj
- Maszynopis
- zazwyczaj
- ui
- dla
- zrozumienie
- uniwersytet
- aż do
- nadający się do użytku
- Stosowanie
- posługiwać się
- używany
- Użytkownik
- za pomocą
- wartość
- Wartości
- różnorodność
- wersja
- przez
- wizja
- spacer
- chcieć
- we
- sieć
- usługi internetowe
- DOBRZE
- były
- jeśli chodzi o komunikację i motywację
- czy
- który
- Podczas
- szeroki
- widget
- będzie
- w
- w ciągu
- bez
- słowo
- słowa
- Praca
- workflow
- przepływów pracy
- napisać
- lat
- You
- Twój
- zefirnet