Mistral-NeMo-Instruct-2407 ve Mistral-NeMo-Base-2407 artık SageMaker JumpStart'ta mevcut

Facebok sayfasını beğenin :
sevilen

Tarih:

Bugün, bunu duyurmaktan heyecan duyuyoruz Mistral-NeMo-Üssü-2407 ve Mistral-NeMo-Talimat-2407—on iki milyar parametreli büyük dil modelleri Mistral Yapay Zeka metin oluşturmada mükemmel olan—müşterilere şu şekilde sunulmaktadır: Amazon SageMaker Hızlı Başlangıç. Bu modelleri, çıkarım çalıştırmak için tek tıklamayla dağıtılabilen algoritmalara ve modellere erişim sağlayan bir makine öğrenimi (ML) merkezi olan SageMaker JumpStart ile deneyebilirsiniz. Bu gönderide, çeşitli gerçek dünya kullanım durumları için Mistral-NeMo-Instruct-2407 ve Mistral-NeMo-Base-2407 modellerinin nasıl keşfedileceğini, dağıtılacağını ve kullanılacağını ele alıyoruz.

Mistral-NeMo-Instruct-2407 ve Mistral-NeMo-Base-2407 genel bakış

Mistral NeMoMistral AI ve NVIDIA arasındaki iş birliğiyle geliştirilen ve Apache 12 lisansı altında yayınlanan güçlü bir 2.0B parametre modeli olan , artık SageMaker JumpStart'ta mevcuttur. Bu model, çok dilli AI yetenekleri ve erişilebilirliğinde önemli bir ilerlemeyi temsil eder.

Temel özellikler ve yetenekler

Mistral NeMo, kapsamlı uzun biçimli içeriklerin işlenmesini sağlayan 128k token bağlam penceresine sahiptir. Model, akıl yürütme, dünya bilgisi ve kodlama doğruluğunda güçlü performans gösterir. Hem önceden eğitilmiş temel hem de talimat ayarlı kontrol noktaları Apache 2.0 lisansı altında mevcuttur ve bu da onu araştırmacılar ve işletmeler için erişilebilir hale getirir. Modelin niceleme farkında eğitimi, kaliteyi tehlikeye atmadan optimum FP8 çıkarım performansını kolaylaştırır.

Çok dilli destek

Mistral NeMo, İngilizce, Fransızca, Almanca, İspanyolca, İtalyanca, Portekizce, Çince, Japonca, Korece, Arapça ve Hintçe dahil olmak üzere birden fazla dilde güçlü performansla küresel uygulamalar için tasarlanmıştır. Bu çok dilli yetenek, yerleşik işlev çağrısı ve kapsamlı bir bağlam penceresiyle birleştiğinde, gelişmiş AI'nın çeşitli dilsel ve kültürel manzaralarda daha erişilebilir olmasına yardımcı olur.

Tekken: Gelişmiş tokenleştirme

Model, tiktoken'a dayalı yenilikçi bir tokenizer olan Tekken'i kullanır. 100'den fazla dilde eğitilen Tekken, doğal dil metni ve kaynak kodu için iyileştirilmiş sıkıştırma verimliliği sunar.

SageMaker JumpStart'a genel bakış

SageMaker JumpStart, içerik yazma, kod oluşturma, soru cevaplama, metin yazarlığı, özetleme, sınıflandırma ve bilgi alma gibi çeşitli kullanım durumları için son teknoloji temel modeller sunan tamamen yönetilen bir hizmettir. Hızlı bir şekilde dağıtabileceğiniz önceden eğitilmiş modellerden oluşan bir koleksiyon sunar ve ML uygulamalarının geliştirilmesini ve dağıtımını hızlandırır. SageMaker JumpStart'ın temel bileşenlerinden biri, çeşitli görevler için DBRX gibi önceden eğitilmiş modellerin geniş bir kataloğunu sunan Model Hub'dır.

Artık birkaç tıklamayla her iki Mistral NeMo modelini de keşfedebilir ve konuşlandırabilirsiniz. Amazon SageMaker Stüdyosu veya SageMaker Python SDK aracılığıyla programatik olarak, model performansını ve makine öğrenimi işlemleri (MLOps) kontrollerini türetmenizi sağlar Amazon Adaçayı Yapıcı gibi özellikler Amazon SageMaker Ardışık Düzenleri, Amazon SageMaker Hata Ayıklayıcısı, veya konteyner günlükleri. Model, AWS güvenli bir ortamda ve sanal özel bulut (VPC) kontrolleriniz altında dağıtılır ve veri güvenliğini desteklemeye yardımcı olur.

Önkoşullar

SageMaker JumpStart'ta her iki NeMo modelini de denemek için aşağıdaki ön koşullara ihtiyacınız olacak:

SageMaker JumpStart'ta Mistral NeMo modellerini keşfedin

NeMo modellerine SageMaker Studio UI ve SageMaker Python SDK'sındaki SageMaker JumpStart aracılığıyla erişebilirsiniz. Bu bölümde, SageMaker Studio'daki modelleri nasıl keşfedeceğinizi ele alacağız.

SageMaker Studio, verileri hazırlamaktan ML modellerinizi oluşturmaya, eğitmeye ve dağıtmaya kadar ML geliştirme adımlarını gerçekleştirmek için özel olarak oluşturulmuş araçlara erişebileceğiniz tek bir web tabanlı görsel arayüz sağlayan entegre bir geliştirme ortamıdır (IDE). SageMaker Studio'yu nasıl başlatacağınız ve kuracağınız hakkında daha fazla bilgi için bkz. Amazon SageMaker Stüdyosu.

SageMaker Studio'da SageMaker JumpStart'a şu seçeneği seçerek erişebilirsiniz: HızlıBaşlangıç Gezinti bölmesinde.

Sonra seç SarılmaYüz.

SageMaker JumpStart açılış sayfasından, arama kutusunda NeMo'yu arayabilirsiniz. Arama sonuçları listelenecektir Mistral NeMo Talimatları ve Mistral NeMo Üssü.

Lisans, eğitim için kullanılan veriler ve modelin nasıl kullanılacağı gibi modelle ilgili ayrıntıları görüntülemek için model kartını seçebilirsiniz. Ayrıca şunları bulacaksınız: Sürüş Modeli dağıtmak ve bir uç nokta oluşturmak için düğmeyi kullanın.

Modeli SageMaker JumpStart'ta dağıtın

Dağıtım, Dağıtım düğmesini seçtiğinizde başlar. Dağıtım tamamlandıktan sonra, bir uç noktanın oluşturulduğunu göreceksiniz. Uç noktayı, örnek bir çıkarım isteği yükü geçirerek veya SDK'yi kullanarak test seçeneğini belirleyerek test edebilirsiniz. SDK'yi kullanma seçeneğini belirlediğinizde, SageMaker Studio'da istediğiniz not defteri düzenleyicisinde kullanabileceğiniz örnek kod göreceksiniz.

Modeli SageMaker Python SDK ile dağıtın

SDK'yı kullanarak dağıtım yapmak için, SDK tarafından belirtilen Mistral NeMo Base modelini seçerek başlıyoruz. model_id değeri ile huggingface-llm-mistral-nemo-base-2407. Aşağıdaki kodla seçili modellerden istediğinizi SageMaker'a dağıtabilirsiniz. Benzer şekilde, NeMo Instruct'ı kendi model kimliğini kullanarak dağıtabilirsiniz.

from sagemaker.jumpstart.model import JumpStartModel 

accept_eula = True 

model = JumpStartModel(model_id="huggingface-llm-mistral-nemo-base-2407") 
predictor = model.deploy(accept_eula=accept_eula)

Bu, modeli SageMaker'da, varsayılan örnek türü ve varsayılan VPC yapılandırmaları dahil olmak üzere varsayılan yapılandırmalarla dağıtır. Varsayılan olmayan değerleri belirterek bu yapılandırmaları değiştirebilirsiniz. HızlıBaşlangıçModeli. Son kullanıcı lisans sözleşmesini (EULA) kabul etmek için EULA değeri açıkça True olarak tanımlanmalıdır. Ayrıca, kullanmak için hesap düzeyinde hizmet sınırına sahip olduğunuzdan emin olun. ml.g6.12xlarge uç nokta kullanımı için bir veya daha fazla örnek olarak. Talimatları takip edebilirsiniz AWS hizmet kotaları bir hizmet kotası artışı talep etmek için. Dağıtıldıktan sonra, dağıtılan uç noktaya karşı SageMaker tahmincisi aracılığıyla çıkarım çalıştırabilirsiniz:

payload = {
    "messages": [
        {
            "role": "user",
            "content": "Hello"
        }
    ],
    "max_tokens": 1024,
    "temperature": 0.3,
    "top_p": 0.9,
}

response = predictor.predict(payload)['choices'][0]['message']['content'].strip()
print(response)

Burada dikkat edilmesi gereken önemli bir nokta, kullandığımız djl-lmi v12 çıkarım konteyneri, bu yüzden takip ediyoruz büyük model çıkarımı sohbet tamamlamaları API şeması Mistral-NeMo-Base-2407 ve Mistral-NeMo-Instruct-2407'ye bir yük gönderirken.

Mistral-NeMo-Üssü-2407

Mistral-NeMo-Base-2407 modeliyle, modelin bir girdi dizisini işlediği ve dizideki tahmin edilen sonraki kelimeleri çıktı olarak verdiği diğer standart metin oluşturma modelleri gibi etkileşim kurabilirsiniz. Bu bölümde, bazı örnek istemler ve örnek çıktılar sağlıyoruz. Temel modelin talimat açısından ince ayarlı olmadığını unutmayın.

Metin tamamlama

Bir sonraki jetonu tahmin etmeyi veya bir dizideki eksik jetonları doldurmayı içeren görevler:

payload = {
    "messages": [
        {
            "role": "user",
            "content": "The capital of France is ___."
        }
    ],
    "max_tokens": 10,
    "temperature": 0.3,
    "top_p": 0.9,
}

response = predictor.predict(payload)['choices'][0]['message']['content'].strip()
print(response)

Çıktı aşağıdaki gibidir:

Paris
The capital of France is Paris.

Mistral NeMo Talimatları

Mistral-NeMo-Instruct-2407 modeli, temel modelin etkileyici performans elde etmek için ince ayarlanabileceğinin hızlı bir gösterimidir. Modeli dağıtmak ve kullanmak için sağlanan adımları takip edebilirsiniz model_id değeri huggingface-llm-mistral-nemo-instruct-2407 yerine.

Talimat ayarlı NeMo modeli aşağıdaki görevlerle test edilebilir:

Kod oluşturma

Mistral NeMo Instruct, kodlama görevleri için kıyaslamalı güçlü yönlerini gösterir. Mistral, NeMo için Tekken tokenizer'ının kaynak kodunu sıkıştırmada yaklaşık %30 daha verimli olduğunu belirtir. Örneğin, aşağıdaki koda bakın:

payload = {
    "messages": [
        {
            "role": "user",
            "content": """Create a Binary Search Tree class with methods for insertion, searching, and in-order traversal."""
        }
    ],
    "max_tokens": 2048,
    "temperature": 0.3,
    "top_p": 0.9,
}
text_response = predictor.predict(payload)['choices'][0]['message']['content'].strip()
tokens = predictor.predict(payload)['usage']
print(text_response)
print(tokens)

Çıktı aşağıdaki gibidir:

class Node:
    def __init__(self, key):
        self.key = key
        self.left = None
        self.right = None

class BinarySearchTree:
    def __init__(self):
        self.root = None

    def insert(self, key):
        if not self.root:
            self.root = Node(key)
        else:
            self._insert(self.root, key)

    def _insert(self, node, key):
        if key < node.key:
            if node.left:
                self._insert(node.left, key)
            else:
                node.left = Node(key)
        elif key > node.key:
            if node.right:
                self._insert(node.right, key)
            else:
                node.right = Node(key)

    def search(self, key):
        return self._search(self.root, key)

    def _search(self, node, key):
        if not node or node.key == key:
            return node

        if key < node.key:
            return self._search(node.left, key)
        else:
            return self._search(node.right, key)

    def inorder_traversal(self):
        self._inorder_traversal(self.root)
        print()

    def _inorder_traversal(self, node):
        if node:
            self._inorder_traversal(node.left)
            print(node.key, end=" ")
            self._inorder_traversal(node.right)

# Example usage:
bst = BinarySearchTree()
bst.insert(50)
bst.insert(30)
bst.insert(20)
bst.insert(40)
bst.insert(70)
bst.insert(60)
bst.insert(80)

print("In-order traversal:")
bst.inorder_traversal()  # Output: 20 30 40 50 60 70 80

print(f"Search 40: {bst.search(40).key if bst.search(40) else 'Not found'}")
print(f"Search 90: {bst.search(90).key if bst.search(90) else 'Not found'}")
{'prompt_tokens': 22, 'completion_tokens': 433, 'total_tokens': 455}

Model, kod oluşturma görevlerinde güçlü bir performans sergiliyor; completion_tokens tokenleştiricinin kod sıkıştırmasının, daha az token kullanarak programlama dillerinin gösterimini nasıl etkili bir şekilde optimize ettiğine dair içgörü sunmak.

İleri matematik ve muhakeme

Model ayrıca matematik ve muhakeme doğruluğunda güçlü yönler bildiriyor. Örneğin, aşağıdaki koda bakın:

payload = {
    "messages": [
        {   "role": "system", 
            "content": "You are an expert in mathematics and reasoning. Your role is to provide examples, explanations, and insights related to mathematical concepts, problem-solving techniques, and logical reasoning.",
            "role": "user",
            "content": """Calculating the orbital period of an exoplanet:
             Given: An exoplanet orbits its star at a distance of 2.5 AU (Astronomical Units). The star has a mass of 1.2 solar masses.
             Task: Calculate the orbital period of the exoplanet in Earth years."""
        }
    ],
    "max_tokens": 2048,
    "temperature": 0.3,
    "top_p": 0.9,
}
response = predictor.predict(payload)['choices'][0]['message']['content'].strip()
print(response)

Çıktı aşağıdaki gibidir:

To calculate the orbital period of an exoplanet, we can use Kepler's Third Law, which states that the square of the orbital period (P) is directly proportional to the cube of the semi-major axis (a) of the orbit and inversely proportional to the mass (M) of the central body. The formula is:

P^2 = (4 * π^2 * a^3) / (G * M)

where:
- P is the orbital period in years,
- a is the semi-major axis in AU (Astronomical Units),
- G is the gravitational constant (6.67430 × 10^-11 m^3 kg^-1 s^-2),
- M is the mass of the star in solar masses.

First, we need to convert the mass of the star from solar masses to kilograms. The mass of the Sun is approximately 1.98847 × 10^30 kg. So, the mass of the star is:

M = 1.2 * 1.98847 × 10^30 kg = 2.386164 × 10^30 kg

Now, we can plug the values into Kepler's Third Law:

P^2 = (4 * π^2 * (2.5 AU)^3) / (G * M)

Since 1 AU is approximately 1.496 × 10^11 meters, the semi-major axis in meters is:

a = 2.5 AU * 1.496 × 10^11 m/AU = 3.74 × 10^12 m

Now, we can calculate P^2:

P^2 = (4 * π^2 * (3.74 × 10^12 m)^3) / (6.67430 × 10^-11 m^3 kg^-1 s^-2 * 2.386164 × 10^30 kg)

P^2 = (4 * π^2 * 5.62 × 10^36 m^3) / (1.589 × 10^20 m^3 kg^-1 s^-2)

P^2 = (4 * π^2 * 5.62 × 10^36 m^3) / (1.589 × 10^20 m^3 kg^-1 s^-2)

P^2 = 4.15 × 10^16 s^2

Now, we take the square root to find the orbital period in seconds:

P = √(4.15 × 10^16 s^2) ≈ 2.04 × 10^8 s

Finally, we convert the orbital period from seconds to Earth years (1 Earth year = 31,557,600 seconds):

P = (2.04 × 10^8 s) / (31,557,600 s/year) ≈ 6.47 years

Therefore, the orbital period of the exoplanet is approximately 6.47 Earth years.

Dil çeviri görevi

Bu görevde, Mistral'in yeni Tekken tokenizer'ını test edelim. Mistral, tokenizer'ın Korece ve Arapça'yı sıkıştırmada sırasıyla iki kat ve üç kat daha verimli olduğunu belirtiyor.

Burada çeviri amaçlı bir miktar metin kullanacağız:

text= """
"How can our business leverage Mistral NeMo with our new RAG application?"
"What is our change management strategy once we roll out this new application to the field?
"""

Modelin Korece ve Arapçaya çeviri konusunda talimat vermesini sağlamak için komutumuzu ayarladık:

prompt=f"""

text={text}

Translate the following text into these languages:

1. Korean
2. Arabic

Label each language section accordingly""".format(text=text)

Daha sonra yükü ayarlayabiliriz:

payload = {
    "messages": [
        {   "role": "system", 
            "content": "You are an expert in language translation.",
            "role": "user",
            "content": prompt
        }
    ],
    "max_tokens": 2048,
    "temperature": 0.3,
    "top_p": 0.9,
}
#response = predictor.predict(payload)
text_response = predictor.predict(payload)['choices'][0]['message']['content'].strip()
tokens = predictor.predict(payload)['usage']
print(text_response)
print(tokens)

Çıktı aşağıdaki gibidir:

**1. Korean**

- "우리의 비즈니스가 Mistral NeMo를 어떻게 활용할 수 있을까요?"
- "이 새 애플리케이션을 현장에 롤아웃할 때 우리의 변화 관리 전략은 무엇입니까?"

**2. Arabic**

- "كيف يمكن لعمليتنا الاست من Mistral NeMo مع تطبيق RAG الجديد؟"
- "ما هو استراتيجيتنا في إدارة التغيير بعد تفعيل هذا التطبيق الجديد في الميدان؟"
{'prompt_tokens': 61, 'completion_tokens': 243, 'total_tokens': 304}

Çeviri sonuçları, çeviri sayısının nasıl değiştiğini göstermektedir. completion_tokens kullanımı, Korece ve Arapça gibi dilleri içeren çeviriler gibi tipik olarak token yoğun görevler için bile önemli ölçüde azaltılmıştır. Bu iyileştirme, Tekken tokenizer tarafından sağlanan optimizasyonlar sayesinde mümkün olmuştur. Böyle bir azaltma, özetleme, dil oluşturma ve çok turlu konuşmalar gibi token yoğun uygulamalar için özellikle değerlidir. Token verimliliğini artırarak, Tekken tokenizer aynı kaynak kısıtlamaları içinde daha fazla görevin işlenmesine olanak tanır ve bu da onu token kullanımının performansı ve maliyeti doğrudan etkilediği iş akışlarını optimize etmek için paha biçilmez bir araç haline getirir.

Temizlemek

Not defterini çalıştırmayı bitirdikten sonra, ek faturalandırmadan kaçınmak için işlem sırasında oluşturduğunuz tüm kaynakları sildiğinizden emin olun. Aşağıdaki kodu kullanın:

predictor.delete_model()
predictor.delete_endpoint()

Sonuç

Bu gönderide, SageMaker Studio'da Mistral NeMo Base ve Instruct ile nasıl başlayacağınızı ve çıkarım için modeli nasıl dağıtacağınızı gösterdik. Temel modeller önceden eğitildiği için, eğitim ve altyapı maliyetlerini düşürmeye yardımcı olabilir ve kullanım durumunuz için özelleştirmeyi mümkün kılabilir. Ziyaret edin SageMaker Studio'da SageMaker JumpStart şimdi başlamak için.

AWS hakkında daha fazla Mistral kaynağı için şuraya göz atın: Mistral-on-AWS GitHub deposu.


yazarlar hakkında

Niithiyn Vijeaswaran AWS'deki Üçüncü Taraf Model Bilimi ekibinde Generative AI Uzman Çözüm Mimarıdır. Odaklandığı alan generative AI ve AWS AI Hızlandırıcılarıdır. Bilgisayar Bilimi ve Biyoenformatik alanında Lisans derecesine sahiptir.

Preston Tuggle üretken yapay zeka üzerinde çalışan Kıdemli Uzman Çözüm Mimarıdır.

shane rai AWS World Wide Specialist Organization (WWSO)'da Baş Üretici Yapay Zeka Uzmanıdır. AWS tarafından sağlanan bulut tabanlı AI/ML hizmetlerinin genişliğini kullanarak, en acil ve yenilikçi iş ihtiyaçlarını çözmek için sektörler arası müşterilerle çalışır; buna en üst düzey temel model sağlayıcılarının sunduğu model teklifleri de dahildir.

İlgili Makaleler

spot_img

Son Makaleler

spot_img