Chuyển đến nội dung chính

Hướng dẫn Databricks DBRX: Từng bước thực hiện

Tìm hiểu cách Databricks DBRX — một LLM mã nguồn mở — xử lý các tác vụ phức tạp và tạo ra kết quả thông minh.
Đã cập nhật 5 thg 10, 2026  · 10 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Gần đây, Databricks đã giới thiệu DBRX, mô hình ngôn ngữ lớn (LLM) đa dụng dạng mở, được xây dựng trên kiến trúc hỗn hợp chuyên gia (MoE) với cách tiếp cận chi tiết. Thay vì dùng một mạng nơ-ron duy nhất cho mọi tác vụ, hệ thống gồm nhiều mạng "chuyên gia" chuyên biệt, mỗi mạng được tối ưu cho các loại tác vụ hoặc dữ liệu khác nhau.

Mô hình này cho kết quả tốt hơn các LLM truyền thống như GPT-3.5 và Llama 2 vì nhanh hơn và tiết kiệm chi phí hơn. Theo thử nghiệm, DBRX đạt 73,7%, cao hơn LLaMa2 (69,8%) trong các tác vụ hiểu ngôn ngữ.

Trong bài viết này, chúng tôi sẽ bàn về các khả năng của mô hình và cách bắt đầu với Databricks DBRX chi tiết hơn.

Databricks DBRX là gì?

DBRX sử dụng kiến trúc decoder-only dựa trên transformer, được huấn luyện theo phương pháp dự đoán token tiếp theo. Nó áp dụng kiến trúc hỗn hợp chuyên gia (MoE) chi tiết. Các “chuyên gia” này là những tác nhân chuyên biệt dựa trên LLM, được tăng cường bằng kiến thức theo miền và kỹ năng suy luận.

DBRX có số lượng lớn các chuyên gia nhỏ (tổng cộng 16 chuyên gia) và chọn một tập con (4 chuyên gia) cho mỗi đầu vào.

Nói đơn giản, cách tiếp cận chi tiết với số tổ hợp chuyên gia có thể có nhiều hơn 65 lần này giúp cải thiện chất lượng mô hình so với các mô hình MoE mở khác như Mixtral và Grok-1, vốn có ít chuyên gia hơn và chọn ít chuyên gia hơn cho mỗi đầu vào.

Dưới đây là một số chi tiết chính về DBRX:

  1. Quy mô tham số: DBRX có tổng cộng 132 tỷ tham số, trong đó 36 tỷ tham số được kích hoạt trên mỗi đầu vào.
  2. Dữ liệu tiền huấn luyện: Được tiền huấn luyện trên 12 nghìn tỷ token dữ liệu được tuyển chọn kỹ cùng độ dài ngữ cảnh 32.000 token, tốt hơn ít nhất 2 lần (tính theo token) so với dữ liệu dùng để tiền huấn luyện họ mô hình MPT.

DBRX được huấn luyện như thế nào?

Mô hình được tiền huấn luyện trên một bộ dữ liệu cực lớn, ước tính hiệu quả gấp đôi so với các bộ dữ liệu trước đây Databricks từng dùng. Bộ công cụ Databricks như Apache Spark và Databricks notebooks cho xử lý dữ liệu, cùng Unity Catalog cho quản trị dữ liệu, đã được dùng để huấn luyện mô hình.

Trong quá trình huấn luyện, kỹ thuật học theo giáo trình (curriculum learning) được áp dụng, và thành phần trộn dữ liệu được điều chỉnh để cải thiện đáng kể chất lượng mô hình. Những điều chỉnh chiến lược này trong trộn dữ liệu giúp tối ưu khả năng mô hình xử lý hiệu quả các đầu vào đa dạng.

Một số công nghệ chủ chốt dùng cho tiền huấn luyện DBRX gồm:

  • Rotary Position Encodings (RoPE): Phương pháp trong transformers mã hóa vị trí token bằng phép biến đổi quay trong không gian nhiều chiều, tăng cường hiểu chuỗi.
  • Gated Linear Units (GLU): Tầng mạng nơ-ron dùng cơ chế cổng để kiểm soát luồng thông tin, giúp nắm bắt các mẫu phức tạp.
  • Grouped Query Attention (GQA): Cơ chế attention tính trọng số trong các nhóm truy vấn nhằm giảm chi phí tính toán và cải thiện khả năng tập trung.
  • Bộ tách từ GPT-4 từ kho tiktoken: Triển khai tokenizer dành cho GPT-4, chuyển văn bản thành token sẵn sàng cho mô hình, tối ưu cho nhu cầu xử lý của GPT-4.

DBRX so với các mô hình tương tự ra sao?

Databricks cho rằng mô hình DBRX của họ vượt trội so với một số mô hình mã nguồn mở hàng đầu về hiệu quả và hiệu năng tác vụ.

Đây là so sánh chi tiết cách DBRX đối đầu các đối thủ:

1) DBRX so với LLaMA2-70B

  • Kiến thức tổng quát (MMLU): DBRX Instruct có điểm cao hơn LLaMA2-70B 9,8%.
  • Suy luận thường thức (tập dữ liệu HellaSwag): DBRX Instruct tiếp tục dẫn trước với mức cao hơn 3,1%.
  • Databricks gauntlet (một bộ đánh giá năng lực LLM tiền huấn luyện qua nhiều tác vụ): DBRX Instruct dẫn khá xa — cao hơn LLaMA2-70B 14%.
  • Lập trình và suy luận toán học: DBRX Instruct nổi bật với 37,9% ở lập trình và 40,2% ở suy luận toán.

2) DBRX Instruct so với Mixtral Instruct

  • Kiến thức tổng quát: DBRX Instruct nhỉnh hơn Mixtral Instruct với mức cao hơn 2,3%.
  • Suy luận thường thức (tập dữ liệu HellaSwag): DBRX Instruct tốt hơn với mức cao hơn 1,4%.
  • Databricks gauntlet: DBRX Instruct vượt Mixtral Instruct với biên độ đáng kể 6,1%.
  • Lập trình và suy luận toán học: DBRX Instruct vượt Mixtral Instruct 15,3% ở lập trình và 5,8% ở suy luận toán.

3) DBRX so với Grok-1

  • Kiến thức tổng quát: Hiệu năng tương đối giống nhau, DBRX Instruct nhỉnh hơn 0,7% so với Grok-1.
  • Lập trình và suy luận toán học: DBRX Instruct vượt Grok-1 với mức dẫn 6,9% ở lập trình và 4% ở suy luận toán.

4) DBRX so với Mixtral Base

  • Kiến thức tổng quát: DBRX Instruct dẫn nhẹ với điểm cao hơn 1,8% so với Mixtral Base.
  • Suy luận thường thức (tập dữ liệu HellaSwag): DBRX có điểm cao hơn với chênh lệch 2,5%.
  • Databricks gauntlet: DBRX dẫn trước 10% so với Mixtral Base.
  • Lập trình và suy luận toán học: DBRX Instruct thể hiện vượt trội với điểm cao hơn 29,9% so với Mixtral Base.

Bảng so sánh

Bên dưới, chúng tôi tổng hợp các so sánh vào một bảng, kèm biểu đồ dựa trên một số kết quả:

So sánh mô hình

Kiến thức tổng quát

Suy luận thường thức

Databricks Gauntlet

Suy luận lập trình

Suy luận toán học

DBRX so với LLaMA2-70B

+9,8%

+3,1%

+14%

+37,9%

+40,2%

DBRX so với Mixtral Instruct

+2,3%

+1,4%

+6,1%

+15,3%

+5,8%

DBRX so với Grok-1

+0,7%

Không có

Không có

+6,9%

+4%

DBRX so với Mixtral Base

+1,8%

+2,5%

+10%

+29,9%

Không có

So sánh chất lượng của DBRX với các LLM mã nguồn mở khác

So sánh chất lượng của DBRX với các LLM mã nguồn mở khác - nguồn

Cách sử dụng DBRX: Hướng dẫn từng bước

Trước khi truy cập DBRX, hãy đảm bảo hệ thống của bạn có tối thiểu 320GB bộ nhớ. Sau đó làm theo các bước sau để truy cập DBRX:

Truy cập DBRX

  • Cài đặt thư viện transformers
pip install "transformers>=4.40.0"
  • Sau đó, yêu cầu một access token với quyền đọc từ Hugging Face (Cần để tải mô hình.)
  • Khi đã có quyền truy cập, hãy import và tải mô hình bằng đoạn mã sau.
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained("databricks/dbrx-base", token="hf_YOUR_TOKEN")
model = AutoModelForCausalLM.from_pretrained("databricks/dbrx-base", device_map="auto", torch_dtype=torch.bfloat16, token="hf_YOUR_TOKEN")

# Directing tensors to "cuda" (GPU) for faster computation as GPUs are better at handling parallel tasks.
input_text = "Databricks was founded in "
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")

# DBRX accepts a context length of up to 32768 tokens. Here`max_new_tokens` specifies the maximum number of tokens to generate.
outputs = model.generate(**input_ids, max_new_tokens=100)
print(tokenizer.decode(outputs[0]))

Muốn học cách sử dụng Transformers và Hugging Face? Đọc hướng dẫn của chúng tôi về cách dùng Transformers và Hugging Face.

Các tác vụ cơ bản với DBRX

DRBX có thể hỗ trợ bạn tạo nội dung cơ bản và phản hồi prompt như mọi LLM khác. Bạn có thể làm gì với DBRX:

  • Hoàn thành văn bản: DBRX có thể tạo phản hồi dạng văn bản dựa trên prompt của bạn.
  • Hiểu ngôn ngữ: Có thể thực hiện các tác vụ như phân tích đầu vào ngôn ngữ tự nhiên, tóm tắt tài liệu dài hoặc dịch văn bản giữa các ngôn ngữ lập trình hay phong cách script.
  • Tối ưu truy vấn: DBRX cũng có thể tối ưu truy vấn cơ sở dữ liệu để giảm thời gian thực thi, giúp kỹ sư dữ liệu tập trung vào các tác vụ quan trọng khác mà không hy sinh hiệu năng.

Các tác vụ lập trình với DBRX

DBRX cũng có thể thực hiện các tác vụ nâng cao liên quan đến mã để hỗ trợ người làm dữ liệu hoặc lập trình viên:

  • Mã và giải thích: Có thể tạo mã cho nhiều tác vụ lập trình và giải thích các hàm hiện có hoặc gợi ý thuật toán cho vấn đề cụ thể để hiểu và tối ưu mã.

DBRX phản hồi các lệnh đơn giản

DBRX phản hồi các lệnh đơn giản - nguồn

  • Gỡ lỗi với DBRX: Đưa ra đề xuất sửa mã để cải thiện năng suất nhà phát triển và tăng tốc quá trình gỡ lỗi.
  • Xác định lỗ hổng: Cũng có thể phát hiện vấn đề trong mã và đề xuất giải pháp khắc phục.

Cách tinh chỉnh DBRX

Bạn có thể tinh chỉnh DBRX với LLM foundry mã nguồn mở trên Github. Tuy nhiên, tinh chỉnh yêu cầu các ví dụ huấn luyện được định dạng dưới dạng dictionary:

formatted_example = {'prompt': <prompt_text>, 'response': <response_text>}

Prompt: Đây là câu hỏi hoặc hướng dẫn ban đầu bạn đưa cho mô hình.

Response: Đây là câu trả lời mà mô hình được huấn luyện để tạo ra.

Bạn có thể dùng ba loại bộ dữ liệu khác nhau để tinh chỉnh bất kỳ LLM nào:

  1. Một bộ dữ liệu có trên HuggingFace Hub.
  2. Một bộ dữ liệu lưu trữ cục bộ trên thiết bị hoặc máy của bạn.
  3. Một bộ dữ liệu ở định dạng StreamingDataset .mds.

1) Sử dụng Hugging Face Hub

Nếu bạn muốn tinh chỉnh bằng bộ dữ liệu từ HuggingFace Hub, và

bộ dữ liệu có hàm tiền xử lý được định nghĩa sẵn hoặc đã tuân theo

định dạng "prompt"/"response", bạn chỉ cần trỏ dataloader tới bộ dữ liệu đó.

train_loader:
    name: finetuning
    dataset:
        hf_name: tatsu-lab/alpaca
        split: train
        ...

Nếu không có hàm tiền xử lý được định nghĩa, hãy dùng preprocessing_fn để chỉ định một hàm tiền xử lý tùy chỉnh cho dataloader.

train_loader:
    name: finetuning
    dataset:
        hf_name: mosaicml/doge-facts
        preprocessing_fn: my_data.formatting:dogefacts_prep_fn
        split: train
        ...

2) Sử dụng bộ dữ liệu cục bộ

Nếu bạn đã có bộ dữ liệu tinh chỉnh trên thiết bị, hãy khai báo các tệp JSONL cục bộ trong

tệp cấu hình YAML yamls/finetune/1b_local_data_sft.yaml.

train_loader:
    name: finetuning
    dataset:
        hf_name: json # assuming data files are json formatted
        hf_kwargs:
            data_dir: /path/to/data/dir/
        preprocessing_fn: my.import.path:my_preprocessing_fn
        split: train
        ...

Bỏ qua preprocessing_fn nếu dữ liệu cục bộ của bạn đã ở định dạng "prompt"/"response".

3) Sử dụng StreamingDataset

Chuyển bộ dữ liệu HuggingFace của bạn sang định dạng MDS bằng

convert_finetuning_dataset.py.

Sau khi chuyển bộ dữ liệu HuggingFace sang định dạng streaming, chỉ cần điều chỉnh cấu hình YAML như sau.

train_loader:
    name: finetuning
    dataset:
        remote: s3://my-bucket/my-copy-doge-facts
        local: /tmp/mds-cache/
        split: train
        ...

Nếu bạn muốn xem tinh chỉnh toàn bộ tham số, hãy xem tệp YAML tại

dbrx-full-ft.yaml

Kết luận

Databricks DBRX sử dụng nhiều mạng chuyên biệt để tăng tốc độ và hiệu quả chi phí của mô hình. Cách tiếp cận chi tiết này giúp nó vượt trội hơn các LLM khác trong xử lý tác vụ phức tạp.

Muốn tìm hiểu thêm về các mô hình ngôn ngữ lớn và cách tinh chỉnh chúng? Hãy xem các tài nguyên này:


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Tôi là một chiến lược gia nội dung, yêu thích việc đơn giản hóa các chủ đề phức tạp. Tôi đã giúp các công ty như Splunk, Hackernoon và Tiiny Host tạo nội dung hấp dẫn và giàu thông tin cho khán giả của họ.

Chủ đề
Trí tuệ Nhân tạo

Tiếp tục hành trình AI của bạn ngay hôm nay!

Khóa học

Các khái niệm về Generative AI

2 giờ
121.2K
Tìm hiểu cách ứng dụng AI tạo sinh có trách nhiệm. Tìm hiểu cách phát triển các mô hình AI tạo sinh và tác động của chúng đến xã hội trong tương lai.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm