Hướng dẫn triển khai mô hình Qwen 2.5-Coder cục bộ: Từ yêu cầu phần cứng đến cấu hình phần mềm, hướng dẫn từng bước!

Giới thiệu

Qwen 2.5-Coder là một mô hình ngôn ngữ dựa trên trí tuệ nhân tạo, đồng thời cũng là công cụ hỗ trợ lập trình tiên tiến, giúp các nhà phát triển tự động hóa các tác vụ lập trình và cung cấp sự hỗ trợ thông minh trong các thách thức lập trình phức tạp, từ đó nâng cao hiệu suất làm việc và chất lượng mã nguồn. Bài viết này sẽ hướng dẫn bạn cách triển khai mô hình Qwen 2.5-Coder cục bộ.

1 Yêu cầu hệ thống

Trước khi bắt đầu cài đặt Qwen 2.5-Coder, hãy đảm bảo máy tính của bạn đáp ứng các yêu cầu cơ bản sau:

1.1 Hệ điều hành
  • Linux: Khuyến nghị sử dụng, hiệu năng và khả năng tương thích tốt nhất.
  • macOS: Hỗ trợ tốt, tương thích mượt mà với Qwen 2.5-Coder.
  • Windows: Cần có Windows Subsystem for Linux 2 (WSL2) để mô phỏng môi trường Linux, đảm bảo tính tương thích phần mềm.
1.2 Môi trường Python
  • Phiên bản Python: Cài đặt Python 3.8 trở lên, Qwen 2.5-Coder cần Python để chạy script và xử lý các thư viện phụ thuộc.
1.3 Cấu hình phần cứng
  • GPU (khuyến nghị):

  • GPU NVIDIA hỗ trợ CUDA, giúp tăng tốc độ xử lý mô hình đáng kể.

  • VRAM: Ít nhất 12GB để xử lý mượt mà các mô hình lớn.

  • CPU:

  • Có thể chạy mà không cần GPU nhưng tốc độ sẽ chậm hơn.

  • Bộ nhớ (RAM):

  • Yêu cầu tối thiểu: 16GB.

  • Cấu hình khuyến nghị: 32GB, đặc biệt nếu bạn muốn chạy nhiều ứng dụng hoặc mô hình lớn cùng lúc.

  • Không gian lưu trữ:

  • Ít nhất 10GB dung lượng trống để chứa tệp mô hình và các thư viện phụ thuộc.

1.4 Phụ thuộc phần mềm
  • PyTorch: Cần phiên bản hỗ trợ GPU, đặc biệt nếu bạn định sử dụng tăng tốc GPU.
  • Thư viện Hugging Face Transformers: Cung cấp công cụ và API để tải và sử dụng Qwen 2.5-Coder.

2 Hướng dẫn cài đặt

Bước 1: Thiết lập môi trường

1) Cài đặt Python

Kiểm tra đã cài đặt Python 3.8 trở lên chưa bằng cách chạy lệnh python --version trong terminal hoặc command prompt. Nếu chưa hoặc phiên bản không phù hợp, hãy tải từ python.org và thêm vào PATH.

2) Tạo môi trường ảo (khuyến nghị)

Để tránh xung đột thư viện, nên tạo môi trường ảo:

  • Tạo:
python -m venv qwen_env   


  • Kích hoạt:

  • Linux/macOS:

        source qwen_env/bin/activate   


  • Windows:
        qwen_env\Scripts\activate   


  • Cập nhật pip:
pip install --upgrade pip   


Bước 2: Cài đặt các thư viện cốt lõi

Chạy lệnh sau để cài đặt các thư viện Python cần thiết cho Qwen 2.5-Coder:

pip install torch torchvision transformers   


Tăng tốc GPU (nếu cần)

Nếu bạn định dùng GPU, hãy cài PyTorch tương ứng với phiên bản CUDA của bạn. Ví dụ, với CUDA 11.7:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117   


Bước 3: Lấy mô hình Qwen 2.5-Coder

1) Sao chép kho mã nguồn

Sao chép kho Qwen 2.5-Coder từ GitHub:

git clone https://github.com/your-repo/Qwen-2.5-Coder.git
cd Qwen-2.5-Coder


Nếu chưa cài Git:

  • Linux/macOS: Chạy sudo apt-get install git.
  • Windows: Truy cập git-scm.com để tải và cài đặt.

2) Tải trọng số mô hình

Sử dụng thư viện transformers để tải trọng số mô hình từ Hugging Face:

  • Tạo và chạy script download_model.py:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "qwen-2.5-coder"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)


Hoặc thực thi đoạn mã trên trong shell tương tác của Python.

Lưu ý: Nếu cần xác thực Hugging Face, hãy cung cấp thông tin đăng nhập hoặc token xác thực.

Bước 4: Chạy mô hình cục bộ

Sau khi mọi thứ đã sẵn sàng, bạn có thể khởi động mô hình Qwen 2.5-Coder bằng script Python.

1) Tạo script chạy

Tạo file mới tên là run_qwen.py với nội dung như sau:

from transformers import AutoModelForCausalLM, AutoTokenizer

def main():
    tokenizer = AutoTokenizer.from_pretrained("qwen-2.5-coder")
    model = AutoModelForCausalLM.from_pretrained("qwen-2.5-coder")
    
    # Nhập prompt
    prompt = "Viết một hàm Python tính dãy Fibonacci."
    
    # Token hóa đầu vào
    inputs = tokenizer(prompt, return_tensors="pt")
    
    # Sinh đầu ra
    outputs = model.generate(
        inputs["input_ids"],
        max_length=200,
        num_return_sequences=1,
        no_repeat_ngram_size=2,
        early_stopping=True
    )
    
    # In kết quả
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    print(response)

if __name__ == "__main__":
    main()


2) Chạy script

Chạy script run_qwen.py để xem khả năng sinh mã của Qwen 2.5-Coder:

python run_qwen.py   


Kết quả mong đợi: Mô hình sẽ trả về đoạn mã Python tính dãy Fibonacci.

3 Tối ưu hóa tốc độ và hiệu suất

Để cải thiện hiệu suất của Qwen 2.5-Coder, đặc biệt khi xử lý mô hình lớn hoặc prompt phức tạp, bạn có thể áp dụng các biện pháp sau:

3.1 Kích hoạt tăng tốc GPU

Dùng GPU NVIDIA hỗ trợ CUDA giúp giảm đáng kể thời gian xử lý mô hình.

Di chuyển mô hình và dữ liệu vào GPU

Sửa đổi script Python để sử dụng GPU:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

def main():
    # Kiểm tra xem CUDA có khả dụng không và thiết lập thiết bị
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    print(f"Sử dụng thiết bị: {device}")
    
    # Tải tokenizer và mô hình, đảm bảo mô hình chạy trên GPU nếu có
    tokenizer = AutoTokenizer.from_pretrained("qwen-2.5-coder")
    model = AutoModelForCausalLM.from_pretrained("qwen-2.5-coder").to(device)
    
    # Ví dụ đầu vào
    prompt = "Viết một hàm Python tính dãy Fibonacci."
    
    # Token hóa đầu vào và chuyển sang GPU
    inputs = tokenizer(prompt, return_tensors="pt").to(device)
    
    # Sinh phản hồi
    outputs = model.generate(
        inputs["input_ids"],
        max_length=200,
        num_return_sequences=1,
        no_repeat_ngram_size=2,
        early_stopping=True
    )
    
    # Giải mã và in kết quả
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    print(response)

if __name__ == "__main__":
    main()


Sau khi cấu hình, mô hình Qwen 2.5-Coder sẽ xử lý yêu cầu nhanh hơn, đặc biệt khi cần tài nguyên tính toán lớn.

3.2 Sử dụng độ chính xác FP16 để tăng hiệu suất

1) Cài đặt thư viện Accelerate

Để quản lý huấn luyện và suy luận với độ chính xác hỗn hợp, sử dụng thư viện accelerate để tăng tốc độ và tiết kiệm bộ nhớ:

pip install accelerate   


2) Cập nhật script sử dụng FP16

Sửa script Python để tải mô hình với độ chính xác FP16:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

def main():
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    print(f"Sử dụng thiết bị: {device}")
    
    tokenizer = AutoTokenizer.from_pretrained("qwen-2.5-coder")
    model = AutoModelForCausalLM.from_pretrained(
        "qwen-2.5-coder",
        torch_dtype=torch.float16
    ).to(device)
    
    prompt = "Viết một hàm Python tính dãy Fibonacci."
    inputs = tokenizer(prompt, return_tensors="pt").to(device)
    
    outputs = model.generate(
        inputs["input_ids"],
        max_length=200,
        num_return_sequences=1,
        no_repeat_ngram_size=2,
        early_stopping=True
    )
    
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    print(response)

if __name__ == "__main__":
    main()


Ưu điểm:

  • Tốc độ: Các phép toán FP16 nhanh hơn trên GPU hỗ trợ.
  • Bộ nhớ: Giảm sử dụng VRAM, cho phép xử lý mô hình lớn hoặc batch dữ liệu lớn hơn.
3.3 Kỹ thuật tối ưu khác
  • Xử lý hàng loạt: Khi cần sinh nhiều đầu ra, xử lý hàng loạt giúp tận dụng hiệu quả GPU, tăng hiệu suất tổng thể.
  • Lượng tử hóa mô hình: Giúp giảm bộ nhớ và tăng tốc độ chạy.
  • Tối ưu prompt: Thiết kế prompt ngắn gọn và hiệu quả để giảm bớt tính toán không cần thiết và đơn giản hóa quy trình phản hồi của mô hình.

4 Ứng dụng thực tế

Sau khi chạy Qwen 2.5-Coder trên máy cục bộ, nó có thể được áp dụng trong nhiều tình huống thực tiễn:

4.1 Tự động sinh mã
  • Ứng dụng: Tự động tạo mã chuẩn cho ứng dụng web, API hoặc quy trình xử lý dữ liệu.
  • Lợi ích: Tiết kiệm thời gian, giảm lập trình thủ công, tập trung vào các nhiệm vụ phức tạp hơn.
4.2 Gỡ lỗi và tối ưu mã
  • Ứng dụng: Đề xuất cải thiện hiệu suất, khả năng đọc mã hoặc sửa lỗi.
  • Lợi ích: Nâng cao chất lượng mã, phát hiện vấn đề dễ bỏ sót trong kiểm tra thủ công.
4.3 Học các giải pháp lập trình phức tạp
  • Ứng dụng: Hiểu các thuật toán nâng cao, cấu trúc dữ liệu hoặc triển khai chức năng phức tạp.
  • Lợi ích: Công cụ giáo dục cung cấp cái nhìn sâu sắc về các khái niệm lập trình phức tạp.
4.4 Tích hợp vào công cụ phát triển
  • Ứng dụng: Tích hợp Qwen 2.5-Coder vào IDE hoặc trình soạn thảo mã nguồn như trợ lý thông minh.
  • Lợi ích: Cung cấp gợi ý mã, tự động hoàn thành và hỗ trợ tài liệu, nâng cao trải nghiệm phát triển.
4.5 Xây dựng ứng dụng tùy chỉnh
  • Ứng dụng: Phát triển chatbot, công cụ tạo báo cáo tự động hoặc hướng dẫn lập trình tương tác.
  • Lợi ích: Tận dụng khả năng hiểu và sinh ngôn ngữ tự nhiên để tạo ra các ứng dụng phức tạp.

5 Gợi ý thực hành tốt

Để trải nghiệm hiệu quả và thuận tiện hơn khi sử dụng Qwen 2.5-Coder, hãy áp dụng những nguyên tắc sau:

5.1 Duy trì môi trường phát triển sạch sẽ
  • Sử dụng môi trường ảo: Cách ly các thư viện phụ thuộc để tránh xung đột.

  • Linux/macOS:

        source my_project_env/bin/activate   


*   Windows:


        my_project_env\Scripts\activate   


*   Tạo môi trường mới:


        python -m venv my_project_env   


*   Kích hoạt môi trường:


  • Cập nhật thường xuyên: Giữ các thư viện luôn mới để tận hưởng tính năng và cập nhật bảo mật.
    pip install --upgrade transformers torch   


5.2 Thử nghiệm các loại prompt khác nhau
  • Đa dạng prompt: Thử nhiều loại prompt để hiểu rõ khả năng và giới hạn của mô hình.
  • Kỹ thuật prompt: Điều chỉnh prompt để nhận được phản hồi chính xác và phù hợp với ngữ cảnh.
5.3 Giám sát sử dụng tài nguyên
  • Tỷ lệ sử dụng GPU: Sử dụng công cụ như nvidia-smi để giám sát mức sử dụng GPU và phân bổ tài nguyên hiệu quả.
    watch -n 1 nvidia-smi   


  • Quản lý bộ nhớ: Theo dõi việc sử dụng RAM và VRAM khi chạy mô hình lớn hoặc nhiều ứng dụng.
5.4 Tận dụng tài nguyên cộng đồng
  • Cộng đồng Hugging Face: Tham gia cộng đồng để nhận hỗ trợ, cập nhật và cảm hứng.
  • Diễn đàn: Tham gia thảo luận trên diễn đàn Hugging Face để tìm kiếm sự giúp đỡ.
  • GitHub: Báo cáo lỗi hoặc yêu cầu tính năng trên kho mã nguồn của Qwen-2.5-Coder.
5.5 Bảo mật và tuân thủ
  • Quyền riêng tư dữ liệu: Cẩn thận khi xử lý dữ liệu nhạy cảm trong quá trình sinh hoặc xử lý mã.
  • Kiểm tra giấy phép: Đảm bảo rằng Qwen 2.5-Coder và các thư viện phụ thuộc tuân thủ các điều khoản giấy phép của dự án.

I. Thời điểm mô hình lớn đã đến: Các vị trí AI thu nhập 30K+ đang được tạo ra hàng loạt

Năm 2025, ứng dụng mô hình lớn bùng nổ, theo số liệu mới nhất từ Bộ Công nghiệp:

  • Thiếu hụt vị trí liên quan đến mô hình lớn là 470.000 vị trí
  • Kỹ sư cấp初级 trung bình thu nhập 28K (Nguồn: Báo cáo BOSS trực tuyến)
  • 70% doanh nghiệp gặp khó khăn trong việc "biết dùng nhưng không tối ưu"

Ví dụ thực tế: Một học viên ngành cơ khí từ trường đại học hạng ba, sau 4 tháng học hệ thống, đã nhận được offer vị trí tối ưu hóa mô hình tại công ty y tế AI, lương tăng gấp 3!

II. Làm thế nào để học AI?

AI không thay thế con người, mà thay thế những người không biết sử dụng AI! Báo cáo gần đây của McKinsey: Người dùng công cụ AI tăng năng suất 47%, thu nhập tăng 34%! 🚀

Do năng suất của vị trí mới vượt trội hơn, toàn xã hội có lợi từ sự tăng trưởng này.

Nhưng đối với cá nhân, điều đó có nghĩa là:

"Người nắm bắt AI sớm nhất sẽ có lợi thế so với người nắm bắt sau."

Câu nói này cũng đúng trong thời kỳ mở đầu của máy tính, internet và điện thoại thông minh.

Trong suốt hơn mười năm làm việc tại các công ty công nghệ, tôi đã hướng dẫn nhiều đồng nghiệp trẻ. Tôi nhận ra rằng có rất nhiều kinh nghiệm và kiến thức có thể chia sẻ, vì vậy dù bận rộn vẫn cố gắng tổng hợp và chia sẻ. Nhưng do kênh truyền thông còn hạn chế, nhiều bạn không thể tiếp cận tài liệu chính xác để học tập và nâng cao. Vì vậy, tôi chia sẻ miễn phí các tài liệu quan trọng về AI lớn gồm: sơ đồ tư duy học AI, sách hướng dẫn, video học thực hành, v.v.

1️⃣ Kỹ thuật prompt: Biến ChatGPT từ đồ chơi thành công cụ sản xuất 2️⃣ Hệ thống RAG: Cho phép mô hình trả lời chính xác kiến thức ngành 3️⃣ Phát triển agent: Tạo nhân viên số 24/7 với AutoGPT

Tôi đã dành ba đêm trắng để tổng hợp "Bộ công cụ AI tiến hóa" tặng bạn: ✔️ Sổ tay triển khai LLM nội bộ (có 58 ví dụ thực tế) ✔️ Thư viện mẫu prompt (phủ sóng 12 lĩnh vực) ✔️ Đường dẫn học tập riêng (từ cơ bản đến thực hành chỉ trong 90 ngày)

Giai đoạn 1 (10 ngày): Ứng dụng cơ bản

Giai đoạn này giúp bạn có cái nhìn tiên tiến nhất về AI lớn, hiểu biết sâu rộng hơn 95% người khác, có thể đưa ra quan điểm chuyên môn, độc đáo và thực tế trong các cuộc thảo luận. Người khác chỉ biết trò chuyện với AI, còn bạn có thể điều khiển AI và kết nối nó với nghiệp vụ qua mã.

  • AI lớn có thể làm gì?
  • AI lớn đạt được "trí tuệ" như thế nào?
  • Nguyên tắc cốt lõi để sử dụng AI hiệu quả
  • Kiến trúc nghiệp vụ ứng dụng AI lớn
  • Kiến trúc kỹ thuật ứng dụng AI lớn
  • Ví dụ mã: Nhồi kiến thức mới vào GPT-3.5
  • Ý nghĩa và tư tưởng cốt lõi của kỹ thuật prompt
  • Cấu thành điển hình của prompt
  • Phương pháp tối ưu hóa lệnh
  • Tư duy chuỗi và cây tư duy
  • Tấn công và phòng ngừa prompt
  • ...

Giai đoạn 2 (30 ngày): Ứng dụng nâng cao

Giai đoạn này, bạn sẽ học thực chiến nâng cao về AI lớn, học cách xây dựng kho tri thức riêng, mở rộng khả năng AI. Phát triển nhanh một chatbot dựa trên agent hoàn chỉnh. Nắm vững framework phát triển mạnh mẽ nhất, nắm bắt xu hướng công nghệ mới, phù hợp với lập trình viên Python và JavaScript.

  • Tại sao phải làm RAG
  • Xây dựng ChatPDF đơn giản
  • Khái niệm cơ bản về truy vấn
  • Vector biểu diễn là gì (Embeddings)
  • Cơ sở dữ liệu vector và truy vấn vector
  • RAG dựa trên truy vấn vector
  • Kiến thức mở rộng về xây dựng hệ thống RAG
  • Truy vấn hỗn hợp và RAG-Fusion
  • Triển khai mô hình vector cục bộ
  • ...

Giai đoạn 3 (30 ngày): Huấn luyện mô hình

Chúc mừng bạn, nếu bạn học đến đây, bạn gần như có thể tìm được công việc liên quan đến AI lớn và tự huấn luyện GPT! Thông qua fine-tuning, bạn có thể huấn luyện mô hình chuyên ngành, tự huấn luyện mô hình đa phương thức mở nguồn, nắm vững nhiều phương pháp kỹ thuật.

Tới đây, khoảng 2 tháng, bạn đã trở thành một "thiếu niên AI". Vậy bạn có muốn khám phá sâu hơn nữa không?

  • Tại sao phải làm RAG
  • Mô hình là gì
  • Huấn luyện mô hình là gì
  • Giới thiệu về solver và hàm mất mát
  • Thí nghiệm nhỏ 2: Viết mạng nơ-ron đơn giản và huấn luyện
  • Mô hình huấn luyện / tiền huấn luyện / fine-tune / fine-tune nhẹ
  • Giới thiệu về cấu trúc Transformer
  • Fine-tune nhẹ
  • Xây dựng tập dữ liệu thí nghiệm
  • ...

Giai đoạn 4 (20 ngày): Vòng đời thương mại

Hiểu rõ về hiệu năng, throughput, chi phí của mô hình lớn toàn cầu, có thể triển khai mô hình trong môi trường đám mây và cục bộ, tìm ra hướng dự án / khởi nghiệp phù hợp, trở thành một PM được trang bị AI.

  • Lựa chọn phần cứng
  • Tìm hiểu về mô hình lớn toàn cầu
  • Sử dụng dịch vụ mô hình lớn nội địa
  • Xây dựng proxy OpenAI
  • Làm quen: Triển khai Stable Diffusion trên Alibaba Cloud PAI
  • Chạy mô hình lớn trên máy cục bộ
  • Triển khai mô hình lớn riêng tư
  • Triển khai mô hình lớn với vLLM
  • Ví dụ: Triển khai mô hình lớn mã nguồn mở trên Alibaba Cloud
  • Triển khai một dự án LLM mã nguồn mở
  • An toàn nội dung
  • Lưu ký thuật toán dịch vụ thông tin Internet
  • ...

Học tập là một quá trình, chỉ cần học là có thử thách. Thiên đạo酬勤, càng chăm chỉ, bạn càng trở nên xuất sắc hơn.

Nếu bạn hoàn thành tất cả trong 15 ngày, bạn xứng đáng gọi là thiên tài. Tuy nhiên, nếu bạn hoàn thành 60–70% nội dung, bạn đã bắt đầu có đủ đặc điểm để trở thành một chuyên gia AI lớn.

Tài liệu học AI đầy đủ đã được tải lên CSDN, bạn có thể nhận miễn phí bằng cách quét mã QR CSDN chính thức: [Đảm bảo 100% miễn phí]

Thẻ: AI model-deployment local-setup hardware-requirements python

Đăng vào ngày 22 tháng 5 lúc 11:15