Triển khai LLAMA-3 cục bộ với NVIDIA NIM: Hướng dẫn toàn diện
Triển khai LLAMA-3 Cục bộ với NVIDIA NIM: Hướng dẫn Toàn diện - Tìm hiểu cách triển khai mô hình LLAMA-3 bằng cách sử dụng NVIDIA NIM để thực hiện suy luận hiệu quả trên máy tính đám mây hoặc máy tính cục bộ của bạn. Bao gồm cài đặt, kiểm tra hiệu suất và tích hợp với API của OpenAI.
20 tháng 2, 2025

Mở khóa sức mạnh của các mô hình ngôn ngữ lớn với hướng dẫn của chúng tôi về tự lưu trữ và triển khai mô hình LLAMA-3 bằng cách sử dụng NIM của NVIDIA. Khám phá cách khai thác công nghệ tiên tiến này để tăng tốc các dự án AI của bạn và đạt được hiệu suất vượt trội.
Cách triển khai NVIDIA NIM để suy luận mô hình ngôn ngữ lớn
Truy cập NVIDIA Launchpad và bảng điều khiển đo lường GPU
Thiết lập container Docker NVIDIA NIM
Tương tác với API NVIDIA NIM
Kiểm tra tải API NVIDIA NIM
Sử dụng NVIDIA NIM với khách hàng API OpenAI
Kết luận
Cách triển khai NVIDIA NIM để suy luận mô hình ngôn ngữ lớn
Cách triển khai NVIDIA NIM để suy luận mô hình ngôn ngữ lớn
Để triển khai một gia đình mô hình Lama bằng cách sử dụng NVIDIA NIM trên máy đám mây hoặc máy cục bộ của bạn, hãy làm theo các bước sau:
-
Thiết lập môi trường: Nếu chạy trên máy cục bộ của bạn, hãy cài đặt Docker engine và công cụ chứa NVIDIA. Các liên kết đến những thứ này được cung cấp trong mô tả video.
-
Nhận API Key: Đăng ký tài khoản NVIDIA để tạo API key và khóa cá nhân của bạn. Những thứ này sẽ được yêu cầu để tương tác với máy chủ từ xa.
-
Chạy Hộp chứa Docker: Sử dụng lệnh Docker được cung cấp để chạy hộp chứa, chỉ định tên hộp chứa, sử dụng GPU, API key, vị trí bộ nhớ cache mô hình và cổng. Điều này sẽ tải xuống và thiết lập mô hình Lama 3 8 tỷ hướng dẫn.
-
Tương tác với Mô hình: Sử dụng lệnh cURL được cung cấp để tương tác với mô hình đã triển khai. Lệnh này tuân theo tiêu chuẩn API OpenAI, cho phép bạn sử dụng khách hàng OpenAI để tương tác.
-
Kiểm tra Stress API: Sử dụng một tập lệnh Python với thư viện
requests
để gửi nhiều yêu cầu đồng thời đến điểm cuối API và theo dõi mức sử dụng GPU và thông lượng. -
Sử dụng Khách hàng API OpenAI: Trình bày cách sử dụng khách hàng API OpenAI với NVIDIA NIM, bằng cách cập nhật URL cơ sở và các tham số khác để khớp với mô hình đã triển khai.
NIVIDIA NIM cung cấp một cách tiện lợi và được tối ưu hóa để triển khai các mô hình ngôn ngữ lớn cho việc suy luận, với khả năng đạt được hiệu suất tốt hơn lên đến 3 lần so với các tùy chọn triển khai khác. Thử nghiệm miễn phí 90 ngày cho phép bạn khám phá thêm về giải pháp này.
Truy cập NVIDIA Launchpad và bảng điều khiển đo lường GPU
Truy cập NVIDIA Launchpad và bảng điều khiển đo lường GPU
Để truy cập NVIDIA Launchpad và bảng điều khiển đo lường GPU, hãy làm theo các bước sau:
-
Như một phần của NVIDIA Launchpad, bạn sẽ được truy cập vào một IDE mã, đó là Visual Studio Code. Bạn có thể sử dụng IDE này để tương tác với phiên GPU và triển khai mô hình Llama 3 8 tỷ hướng dẫn.
-
Bảng điều khiển đo lường GPU là một bảng điều khiển Grafana cung cấp thông tin chi tiết về mức sử dụng và hiệu suất của GPU. Bạn có thể truy cập bảng điều khiển này để theo dõi mức sử dụng GPU, phiên bản CUDA, trình điều khiển GPU và các chỉ số liên quan khác.
-
Bảng điều khiển Grafana cung cấp một biểu diễn trực quan về mức sử dụng GPU theo thời gian, cho phép bạn theo dõi hiệu suất và tối ưu hóa triển khai tương ứng.
-
Bạn có thể sử dụng lệnh
watch
trong terminal để theo dõi mức sử dụng GPU theo thời gian thực. Lệnhwatch -n 1 nvidia-smi
sẽ cập nhật mức sử dụng GPU mỗi giây, cung cấp cho bạn một chế độ xem trực tiếp về mức sử dụng GPU. -
Bảng điều khiển đo lường GPU và các công cụ theo dõi thời gian thực cho phép bạn hiểu các đặc điểm hiệu suất của triển khai mô hình Llama 3 8 tỷ hướng dẫn, giúp bạn tối ưu hóa việc sử dụng tài nguyên và đảm bảo suy luận hiệu quả.
Thiết lập container Docker NVIDIA NIM
Thiết lập container Docker NVIDIA NIM
Để triển khai mô hình Llama 3 8 tỷ hướng dẫn bằng cách sử dụng NVIDIA NIM, hãy làm theo các bước sau:
- Mở IDE được cung cấp và đảm bảo bạn có quyền truy cập vào GPU H100.
- Thiết lập API key của bạn bằng cách đăng ký tài khoản NVIDIA và tạo các khóa cần thiết.
- Chạy lệnh Docker sau để khởi động hộp chứa NVIDIA NIM:
docker run -it --gpus all -e NVIDIA_API_KEY=$NVIDIA_API_KEY -p 8000:8000 --name llama-3-8b-instruct nvcr.io/nvidia/nim:latest --model-name llama-3-8b-instruct
Lệnh này sẽ:
- Tạo một hộp chứa Docker có tên "llama-3-8b-instruct"
- Sử dụng tất cả GPU có sẵn trên hệ thống
- Đặt biến môi trường NVIDIA_API_KEY
- Mở cổng 8000 cho máy chủ NIM
- Sử dụng mô hình "llama-3-8b-instruct" từ danh mục NVIDIA NIM
- Khi hộp chứa đang chạy, bạn có thể sử dụng lệnh cURL được cung cấp để tương tác với mô hình:
curl -X POST -H "Content-Type: application/json" -d '{"model": "llama-3-8b-instruct", "prompt": "Tell me a joke.", "max_tokens": 1000, "temperature": 0.7, "top_p": 0.95, "stop": ["\n"]}' http://localhost:8000/v1/completions
Lệnh cURL này gửi một yêu cầu đến máy chủ NIM đang chạy trên localhost:8000 để tạo một phản hồi cho lời nhắc "Tell me a joke."
-
Để kiểm tra stress điểm cuối API, bạn có thể chạy tập lệnh Python
test_server.py
được cung cấp. Tập lệnh này sẽ gửi nhiều yêu cầu đồng thời đến máy chủ NIM và theo dõi mức sử dụng GPU. -
Cuối cùng, bạn cũng có thể sử dụng khách hàng API OpenAI để tương tác với máy chủ NIM bằng cách cập nhật URL cơ sở để trỏ đến địa chỉ và cổng của máy chủ NIM.
Bằng cách làm theo các bước này, bạn có thể triển khai thành công mô hình Llama 3 8 tỷ hướng dẫn bằng cách sử dụng hộp chứa Docker NVIDIA NIM và kiểm tra hiệu suất của nó.
Tương tác với API NVIDIA NIM
Tương tác với API NVIDIA NIM
Để tương tác với API NVIDIA NIM, chúng ta có thể sử dụng một lệnh cURL đơn giản. Lệnh cURL cung cấp những điều sau:
- Thực hiện yêu cầu POST đến máy chủ cục bộ tại cổng 8000, nơi máy chủ NVIDIA NIM đang chạy.
- Sử dụng API tương thích với OpenAI, vì vậy chúng ta có thể sử dụng khách hàng OpenAI để tương tác với máy chủ NIM.
- Chỉ định mô hình Llama 3 8 tỷ hướng dẫn để sử dụng.
- Thiết lập cấu trúc tin nhắn tương tự như những gì OpenAI mong đợi.
- Cho phép đặt các tham số bổ sung như
max_tokens
vàtemperature
.
Dưới đây là lệnh cURL:
curl -X POST -H "Content-Type: application/json" -d '{"model": "nlp/lama-3-8b-instruct", "messages": [{"role": "user", "content": "Tell me a joke"}], "max_tokens": 1000, "temperature": 0.7}' http://localhost:8000/v1/chat/completions
Lệnh cURL này sẽ gửi một yêu cầu đến máy chủ NVIDIA NIM, sau đó sẽ tạo ra một phản hồi từ mô hình Llama 3 8 tỷ hướng dẫn. Phản hồi sẽ được truyền lại, với mỗi token được hiển thị khi nó được tạo ra.
Để kiểm tra stress điểm cuối API thêm, chúng ta có thể sử dụng một tập lệnh Python sử dụng thư viện requests
để thực hiện nhiều yêu cầu đồng thời. Tập lệnh này sẽ gửi 50 yêu cầu tạo trò đùa song song và theo dõi mức sử dụng GPU và thông lượng.
import requests
import threading
url = "http://localhost:8000/v1/chat/completions"
headers = {"Content-Type": "application/json"}
payload = {
"model": "nlp/lama-3-8b-instruct",
"messages": [{"role": "user", "content": "Tell me 50 jokes"}],
"max_tokens": 1000,
"temperature": 0.7,
"stream": False
}
def send_requests():
for _ in range(50):
response = requests.post(url, headers=headers, json=payload)
print(response.json())
threads = []
for _ in range(10):
t = threading.Thread(target=send_requests)
t.start()
threads.append(t)
for thread in threads:
thread.join()
Tập lệnh này cho thấy cách sử dụng API tương thích với OpenAI với máy chủ NVIDIA NIM. Nó cho thấy máy chủ NVIDIA NIM có thể cung cấp suy luận hiệu suất cao cho các mô hình ngôn ngữ lớn, với khả năng cải thiện hiệu suất lên đến 3 lần so với các tùy chọn triển khai khác.
Kiểm tra tải API NVIDIA NIM
Kiểm tra tải API NVIDIA NIM
Để kiểm tra stress điểm cuối API NVIDIA NIM, chúng ta sẽ sử dụng một tập lệnh Python đơn giản sử dụng thư viện requests
để thực hiện nhiều yêu cầu đồng thời đến điểm cuối API. Đây là cách nó hoạt động:
-
Chúng tôi định nghĩa URL điểm cuối API, trong trường hợp này là máy chủ cục bộ vì chúng tôi đang chạy máy chủ cục bộ. Nếu bạn triển khai điều này trên máy chủ từ xa, bạn sẽ cần sử dụng địa chỉ IP bên ngoài và bật chuyển tiếp cổng.
-
Chúng tôi đặt các tiêu đề cần thiết, bao gồm tiêu đề
Content-Type
thànhapplication/json
. -
Chúng tôi tạo tải trọng, bao gồm tên mô hình (
"model": "llama-3-8b-instruct"
), lời nhắc ("prompt": "Tell me 50 jokes."
) và các tham số khác nhưmax_tokens
,temperature
vàstop
. -
Chúng tôi định nghĩa một hàm
send_requests()
gửi các yêu cầu bằng cách sử dụng phương thứcrequests.post()
và URL, tiêu đề và tải trọng mà chúng tôi đã định nghĩa trước đó. -
Chúng tôi sử dụng đa luồng để chạy nhiều phiên bản của hàm
send_requests()
đồng thời, mô phỏng một khối lượng yêu cầu lớn đến điểm cuối API. -
Chúng tôi theo dõi mức sử dụng GPU theo thời gian thực bằng cách sử dụng lệnh
watch
và công cụnvidia-smi
, cung cấp thông tin về mức sử dụng GPU.
Đầu ra cho thấy điểm cuối API có thể xử lý một số lượng lớn yêu cầu đồng thời, với thông lượng trung bình khoảng 2.500 token mỗi giây. Mức sử dụng GPU cũng vẫn tương đối cao, cho thấy NVIDIA NIM đang hiệu quả sử dụng các tài nguyên phần cứng để cung cấp suy luận hiệu suất cao.
Kiểm tra stress này cho thấy tính mở rộng và hiệu suất của giải pháp NVIDIA NIM, khiến n
Câu hỏi thường gặp
Câu hỏi thường gặp

