Mô hình và nền tảng AI

Mistral 2 và Mistral NeMo: Hướng Dẫn Toàn Diện Về Mô Hình LLM Mới Nhất Từ Paris

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google
Mistral Large 2 and Mistral NeMo

Được thành lập bởi các cựu sinh viên của Google’s DeepMind và Meta, công ty khởi nghiệp Mistral AI có trụ sở tại Paris đã liên tục tạo ra sóng gió trong cộng đồng AI từ năm 2023.

Mistral AI lần đầu tiên thu hút sự chú ý của thế giới với mô hình đầu tiên của mình, Mistral 7B, được phát hành vào năm 2023. Mô hình 7 tỷ tham số này nhanh chóng thu hút sự chú ý với hiệu suất ấn tượng, vượt qua các mô hình lớn hơn như Llama 2 13B trong các điểm chuẩn khác nhau và thậm chí còn cạnh tranh với Llama 1 34B trong nhiều chỉ số. Điều khiến Mistral 7B nổi bật không chỉ là hiệu suất của nó, mà còn là sự dễ tiếp cận – mô hình có thể được tải xuống dễ dàng từ GitHub hoặc thậm chí qua một tệp torrent 13,4 GB, khiến nó sẵn sàng cho các nhà nghiên cứu và nhà phát triển trên toàn thế giới.

Cách tiếp cận không chính thống của công ty đối với các bản phát hành, thường bỏ qua các bài báo truyền thống, blog hoặc thông cáo báo chí, đã chứng minh hiệu quả đáng kể trong việc thu hút sự chú ý của cộng đồng AI. Chiến lược này, kết hợp với cam kết đối với các nguyên tắc mã nguồn mở, đã đặt Mistral AI vào vị trí là một người chơi quan trọng trong cảnh quan AI.

Sự tăng trưởng nhanh chóng của Mistral AI trong ngành còn được thể hiện qua thành công trong việc huy động vốn gần đây. Công ty đã đạt được mức định giá 2 tỷ USD sau một vòng huy động vốn do Andreessen Horowitz dẫn đầu. Điều này diễn ra sau một vòng hạt giống lịch sử trị giá 118 triệu USD – lớn nhất trong lịch sử châu Âu – thể hiện sự tin tưởng to lớn của các nhà đầu tư vào tầm nhìn và khả năng của Mistral AI.

Ngoài những tiến bộ công nghệ, Mistral AI cũng tích cực tham gia vào việc định hình chính sách AI, đặc biệt là trong các cuộc thảo luận xung quanh Đạo luật AI của EU, nơi họ đã vận động cho việc giảm quy định đối với AI mã nguồn mở.

Giờ đây, vào năm 2024, Mistral AI một lần nữa đã nâng cao tiêu chuẩn với hai mô hình đột phá: Mistral Large 2 (còn được gọi là Mistral-Large-Instruct-2407) và Mistral NeMo. Trong hướng dẫn toàn diện này, chúng ta sẽ深入 tìm hiểu về các tính năng, hiệu suất và ứng dụng tiềm năng của những mô hình AI ấn tượng này.

Các thông số chính của Mistral Large 2 bao gồm:

  • 123 tỷ tham số
  • 128k cửa sổ ngữ cảnh
  • Hỗ trợ hàng chục ngôn ngữ
  • Sự thành thạo trong 80+ ngôn ngữ lập trình
  • Khả năng gọi hàm tiên tiến

Mô hình này được thiết kế để đẩy ranh giới của hiệu quả về chi phí, tốc độ và hiệu suất, khiến nó trở thành một lựa chọn hấp dẫn cho cả các nhà nghiên cứu và doanh nghiệp muốn tận dụng AI tiên tiến.

Mistral NeMo: Mô Hình Nhỏ Mới

Trong khi Mistral Large 2 đại diện cho mô hình lớn của Mistral AI, thì Mistral NeMo, được phát hành vào tháng 7 năm 2024, lại tiếp cận theo một cách khác. Phát triển cùng với NVIDIA (NVDA ), Mistral NeMo là một mô hình nhỏ hơn với 12 tỷ tham số, vẫn cung cấp khả năng ấn tượng:

  • 12 tỷ tham số
  • 128k ngữ cảnh cửa sổ
  • Hiệu suất hàng đầu trong hạng mục của nó
  • Giấy phép Apache 2.0 cho sử dụng mở
  • Đào tạo nhận thức lượng tử cho suy luận hiệu quả

Mistral NeMo được định vị như một sự thay thế cho các hệ thống hiện đang sử dụng Mistral 7B, cung cấp hiệu suất nâng cao trong khi vẫn duy trì sự dễ sử dụng và tương thích.

Tính Năng và Khả Năng Chính

Cả Mistral Large 2 và Mistral NeMo đều chia sẻ một số tính năng chính giúp chúng nổi bật trong cảnh quan AI:

  1. Cửa Sổ Ngữ Cảnh Lớn: Với độ dài cửa sổ ngữ cảnh 128k, cả hai mô hình đều có thể xử lý và hiểu các đoạn văn bản dài hơn, cho phép tạo ra các đầu ra mạch lạc và phù hợp với ngữ cảnh hơn.
  2. Hỗ Trợ Đa Ngôn Ngữ: Các mô hình này đều xuất sắc trong nhiều ngôn ngữ, bao gồm tiếng Anh, Pháp, Đức, Tây Ban Nha, Ý, Trung Quốc, Nhật Bản, Hàn Quốc, Ả Rập và Hindi.
  3. Khả Năng Lập Trình Tiên Tiến: Cả hai mô hình đều thể hiện sự thành thạo xuất sắc trong việc tạo mã trên nhiều ngôn ngữ lập trình.
  4. Thực Hiện Hướng Dẫn: Cả hai mô hình đều có khả năng thực hiện các hướng dẫn chính xác và xử lý các cuộc trò chuyện nhiều lượt.
  5. Gọi Hàm: Hỗ trợ gọi hàm native cho phép các mô hình này tương tác động với các công cụ và dịch vụ bên ngoài.
  6. Lý Luận và Giải Quyết Vấn Đề: Khả năng lý luận toán học và giải quyết vấn đề phức tạp được cải thiện.

Hãy cùng khám phá một số tính năng và xem chúng hoạt động như thế nào trong thực tế.

Điểm Benchmark Hiệu Suất

Để hiểu được khả năng thực sự của Mistral Large 2 và Mistral NeMo, việc xem xét hiệu suất của chúng trên các điểm chuẩn khác nhau là rất quan trọng. Hãy cùng xem một số chỉ số chính:

Điểm Benchmark Mistral Large 2

Bảng này trình bày sự thành thạo của các LLM khác nhau trong các ngôn ngữ lập trình khác nhau. Các mô hình như Mistral Large 2 (24.07), Llama 3.1 (405B) và GPT-4o được đánh giá dựa trên khả năng hiểu và tạo mã trong các ngôn ngữ như Python, C++, Bash, Java, TypeScript, PHP và C#.

Llama 3.1 405B cho thấy hiệu suất mạnh mẽ trên nhiều ngôn ngữ, với điểm số đặc biệt cao trong Python và Java. Sự thành thạo này rất quan trọng cho các ứng dụng liên quan đến tạo mã, gỡ lỗi và phát triển phần mềm, khiến những mô hình này trở thành công cụ quý giá cho các nhà phát triển.

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Điểm Benchmark Mistral NeMo

Mặc dù không cung cấp điểm chuẩn cụ thể cho Mistral NeMo trong thông tin cho sẵn, nó được mô tả là cung cấp hiệu suất hàng đầu trong hạng mục của nó. Mô hình này vượt trội so với các mô hình mã nguồn mở được đào tạo trước khác gần đây như Gemma 2 9B và Llama 3 8B trong nhiều nhiệm vụ.

Khả Năng Đa Ngôn Ngữ và Lập Trình

Một trong những tính năng nổi bật của cả Mistral Large 2 và Mistral NeMo là khả năng đa ngôn ngữ vượt trội. Điều này đặc biệt quan trọng trong thế giới ngày càng toàn cầu hóa, nơi các mô hình AI cần phải hiểu và tạo nội dung trong nhiều ngôn ngữ.

Mistral Large 2, ví dụ, hỗ trợ hàng chục ngôn ngữ, bao gồm tiếng Pháp, tiếng Đức, tiếng Tây Ban Nha, tiếng Ý, tiếng Bồ Đào Nha, tiếng Ả Rập, tiếng Hindi, tiếng Nga, tiếng Trung, tiếng Nhật và tiếng Hàn. Sự thành thạo đa ngôn ngữ này không chỉ dừng lại ở việc dịch mà còn bao gồm việc hiểu và tạo nội dung trong những ngôn ngữ này.

Hãy cùng xem một ví dụ về việc Mistral Large 2 tạo văn bản trong nhiều ngôn ngữ:

[INST] Generate a short greeting in English, French, German, Spanish, and Japanese. [/INST]

Đây là những lời chào ngắn trong các ngôn ngữ được yêu cầu:

English: Hello! How are you today?
French: Bonjour ! Comment allez-vous aujourd’hui ?
German: Hallo! Wie geht es Ihnen heute?
Spanish: ¡Hola! ¿Cómo estás hoy?
Japanese: こんにちは!今日はお元気ですか?

[INST]

Now, write a simple “Hello, World!” program in Python, Java, and JavaScript. [/INST]

Những ví dụ này thể hiện cả khả năng tạo văn bản đa ngôn ngữ và lập trình của mô hình.

Cả hai mô hình đều có sẵn trên nhiều nền tảng như Hugging Face, nền tảng của Mistral AI và các nhà cung cấp dịch vụ đám mây lớn như Google Cloud Platform, Azure AI Studio, Amazon (AMZN ) Bedrock và IBM watsonx.ai​ (Mistral AI | Frontier AI in your hands)​​​.

Thế Hệ Mới Của Mô Hình Động

Cả Mistral Large 2 và Mistral NeMo đều thể hiện một thiết kế tập trung vào mô hình động, đại diện cho một sự thay đổi trong cách chúng ta tương tác với các mô hình AI. Cách tiếp cận này tập trung vào việc xây dựng các mô hình có thể tương tác với môi trường của chúng, đưa ra quyết định và thực hiện hành động để đạt được các mục tiêu cụ thể.

Một tính năng chính cho phép mô hình này là hỗ trợ gọi hàm native. Điều này cho phép các mô hình tương tác động với các công cụ và dịch vụ bên ngoài, hiệu quả mở rộng khả năng của chúng vượt ra ngoài việc tạo văn bản đơn thuần.

Hãy cùng xem một ví dụ về cách gọi hàm có thể hoạt động với Mistral Large 2:

from mistral_common.protocol.instruct.tool_calls import Function, Tool
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest

<p># Initialize tokenizer and model
mistral_models_path = &quot;path/to/mistral/models&quot; # Ensure this path is correct
tokenizer = MistralTokenizer.from_file(f&quot;{mistral_models_path}/tokenizer.model.v3&quot;)
model = Transformer.from_folder(mistral_models_path)</p>

<p># Define a function for getting weather information
weather_function = Function(
name=&quot;get_current_weather&quot;,
description=&quot;Get the current weather&quot;,
parameters={
&quot;type&quot;:&quot;object&quot;,
&quot;properties&quot;:{
&quot;location&quot;:{
&quot;type&quot;:&quot;string&quot;,
&quot;description&quot;:&quot;The city and state, e.g. San Francisco, CA&quot;,
},
&quot;format&quot;:{
&quot;type&quot;:&quot;string&quot;,
&quot;enum&quot;:[&quot;celsius&quot;, &quot;fahrenheit&quot;],
&quot;description&quot;:&quot;The temperature unit to use. Infer this from the user&#039;s location.&quot;,
},
},
&quot;required&quot;:[&quot;location&quot;, &quot;format&quot;],
},
)</p>

<p># Create a chat completion request with the function
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content=&quot;What&#039;s the weather like today in Paris?&quot;),
],
)</p>

<p># Encode the request
tokens = tokenizer.encode_chat_completion(completion_request).tokens</p>

<p># Generate a response
output_ids = model.generate(tokens, max_new_tokens=256, do_sample=True)</p>

<p># Decode and print the response
response = tokenizer.decode(output_ids[0])
print(response)</p>

Trong ví dụ này, chúng ta định nghĩa một hàm để lấy thông tin thời tiết và bao gồm nó trong yêu cầu hoàn thành trò chuyện. Mô hình sau đó có thể sử dụng hàm này để truy xuất dữ liệu thời tiết thực tế, thể hiện cách nó có thể tương tác với các hệ thống bên ngoài để cung cấp thông tin chính xác và cập nhật hơn.

Tekken: Một Bộ Mã Hóa Hiệu Quả Hơn

Mistral NeMo giới thiệu một bộ mã hóa mới gọi là Tekken, dựa trên Tiktoken và được đào tạo trên hơn 100 ngôn ngữ. Bộ mã hóa mới này cung cấp những cải tiến đáng kể về hiệu quả nén văn bản so với các bộ mã hóa trước đó như SentencePiece.

Các tính năng chính của Tekken bao gồm:

  • 30% hiệu quả nén cao hơn cho mã nguồn, tiếng Trung, tiếng Ý, tiếng Pháp, tiếng Đức, tiếng Tây Ban Nha và tiếng Nga
  • 2x hiệu quả nén cao hơn cho tiếng Hàn
  • 3x hiệu quả nén cao hơn cho tiếng Ả Rập
  • Vượt trội so với bộ mã hóa Llama 3 trong việc nén văn bản cho khoảng 85% tất cả các ngôn ngữ

Hiệu quả mã hóa cải thiện này dẫn đến hiệu suất mô hình tốt hơn, đặc biệt là khi xử lý văn bản đa ngôn ngữ và mã nguồn. Nó cho phép mô hình xử lý nhiều thông tin hơn trong cùng một cửa sổ ngữ cảnh, dẫn đến các đầu ra mạch lạc và phù hợp với ngữ cảnh hơn.

Giấy Phép và Tính Sẵn Có

Mistral Large 2 và Mistral NeMo có các mô hình giấy phép khác nhau, phản ánh các trường hợp sử dụng dự kiến của chúng:

Mistral Large 2

  • Được phát hành dưới Giấy Phép Nghiên Cứu Mistral
  • Cho phép sử dụng và sửa đổi cho mục đích nghiên cứu và phi thương mại
  • Sử dụng thương mại yêu cầu Giấy Phép Thương Mại Mistral

Mistral NeMo

  • Được phát hành dưới Giấy Phép Apache 2.0
  • Cho phép sử dụng mở, bao gồm cả ứng dụng thương mại

Cả hai mô hình đều có sẵn thông qua nhiều nền tảng:

  • Hugging Face: Trọng lượng cho cả mô hình cơ bản và hướng dẫn được lưu trữ ở đây
  • Mistral AI: Có sẵn dưới dạng mistral-large-2407 (Mistral Large 2) và open-mistral-nemo-2407 (Mistral NeMo)
  • Nhà Cung Cấp Dịch Vụ Đám Mây: Có sẵn trên Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock và IBM watsonx.ai
https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Đối với các nhà phát triển muốn sử dụng những mô hình này, dưới đây là một ví dụ nhanh về cách tải và sử dụng Mistral Large 2 với Hugging Face transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

<p>model_name = &quot;mistralai/Mistral-Large-Instruct-2407&quot;
device = &quot;cuda&quot; # Sử dụng GPU nếu có</p>

<p># Tải mô hình và bộ mã hóa
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)</p>

<p># Di chuyển mô hình đến thiết bị phù hợp
model.to(device)</p>

<p># Chuẩn bị đầu vào
messages = [
{&quot;role&quot;:&quot;system&quot;, &quot;content&quot;:&quot;Bạn là một trợ lý AI hữu ích.&quot;},
{&quot;role&quot;:&quot;user&quot;, &quot;content&quot;:&quot;Giải thích khái niệm mạng nơ-ron trong thuật ngữ đơn giản.&quot;}
]</p>

<p># Mã hóa đầu vào
input_ids = tokenizer.apply_chat_template(messages, return_tensors=&quot;pt&quot;).to(device)</p>

<p># Tạo phản hồi
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)</p>

<p># Giải mã và in phản hồi
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)</p>

Mã này cho thấy cách tải mô hình, chuẩn bị đầu vào theo định dạng trò chuyện, tạo phản hồi và giải mã đầu ra.

Giới Hạn và Xem Xét Đạo Đức

Mặc dù Mistral Large 2 và Mistral NeMo đại diện cho những tiến bộ đáng kể trong công nghệ AI, nhưng cũng cần phải nhận thức được những giới hạn và xem xét đạo đức xung quanh việc sử dụng chúng:

  1. Khả Năng Tiềm Năng Về Sự Thể Hiện: Giống như tất cả các mô hình AI được đào tạo trên các tập dữ liệu lớn, những mô hình này có thể kế thừa và khuếch đại các thiên vị hiện có trong dữ liệu đào tạo của chúng. Người dùng nên nhận thức được điều này và thực hiện các biện pháp phòng ngừa phù hợp.
  2. Thiếu Sự Hiểu Biết Thật Sự: Mặc dù có những khả năng ấn tượng, những mô hình này không sở hữu sự hiểu biết hoặc ý thức thực sự. Chúng tạo ra phản hồi dựa trên các mẫu trong dữ liệu đào tạo của chúng, điều này đôi khi có thể dẫn đến thông tin nghe có vẻ hợp lý nhưng không chính xác.
  3. Quan Nghiệm Riêng Tư: Khi sử dụng những mô hình này, đặc biệt là trong các ứng dụng xử lý thông tin nhạy cảm, cần xem xét kỹ lưỡng các tác động về quyền riêng tư và bảo mật dữ liệu.

Kết Luận

Fine-tuning các mô hình tiên tiến như Mistral Large 2 và Mistral NeMo cung cấp một cơ hội mạnh mẽ để tận dụng AI tiên tiến cho nhiều ứng dụng, từ việc gọi hàm động đến xử lý đa ngôn ngữ hiệu quả. Dưới đây là một số mẹo thực tế và kiến thức chính cần lưu ý:

  1. Hiểu Trường Hợp Sử Dụng Của Bạn: Xác định rõ ràng các nhiệm vụ và mục tiêu cụ thể mà bạn muốn mô hình của mình đạt được. Sự hiểu biết này sẽ hướng dẫn sự lựa chọn mô hình và phương pháp tinh chỉnh của bạn, cho dù đó là khả năng gọi hàm mạnh mẽ của Mistral hay khả năng xử lý đa ngôn ngữ hiệu quả của nó.
  2. Tối Ưu Hóa Hiệu Quả: Sử dụng bộ mã hóa Tekken để cải thiện đáng kể hiệu quả nén văn bản, đặc biệt nếu ứng dụng của bạn liên quan đến xử lý lượng văn bản lớn hoặc nhiều ngôn ngữ. Điều này sẽ nâng cao hiệu suất của mô hình và giảm chi phí tính toán.
  3. Tận Dụng Gọi Hàm: Áp dụng mô hình động bằng cách tích hợp các cuộc gọi hàm vào tương tác mô hình của bạn. Điều này cho phép AI của bạn tương tác động với các công cụ và dịch vụ bên ngoài, cung cấp đầu ra chính xác và hữu ích hơn. Ví dụ, tích hợp các API thời tiết hoặc các nguồn dữ liệu bên ngoài khác có thể làm tăng đáng kể sự liên quan và tiện ích của phản hồi mô hình.
  4. Chọn Nền Tảng Phù Hợp: Đảm bảo bạn triển khai mô hình của mình trên các nền tảng hỗ trợ khả năng của chúng, như Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock và IBM watsonx.ai. Những nền tảng này cung cấp cơ sở hạ tầng và công cụ cần thiết để tối đa hóa hiệu suất và khả năng mở rộng của mô hình AI của bạn.

Bằng cách tuân theo những mẹo này và sử dụng các ví dụ mã được cung cấp, bạn có thể tận dụng hiệu quả sức mạnh của Mistral Large 2 và Mistral NeMo cho nhu cầu cụ thể của mình.

Tôi đã dành 5 năm qua để đắm mình trong thế giới hấp dẫn của Máy học và Học sâu. Đam mê và chuyên môn của tôi đã dẫn tôi đến việc đóng góp vào hơn 50 dự án kỹ thuật phần mềm đa dạng, với sự tập trung đặc biệt vào AI/ML. Sự tò mò liên tục của tôi cũng đã thu hút tôi đến với Xử lý Ngôn ngữ Tự nhiên, một lĩnh vực tôi渴望 khám phá thêm.