RepoTrending
Về bảng xếp hạng
GitHubLLM / Mô hình ngôn ngữPython

huggingface/transformers

🤗 Transformers: khung định nghĩa mô hình cho các mô hình học máy tiên tiến ở dạng văn bản, hình ảnh, âm thanh và mô hình đa phương thức, cho cả suy luận và đào tạo.

164k sao34k fork

README

Hugging Face Transformers Library

Checkpoints on Hub Build GitHub Documentation GitHub release Contributor Covenant DOI

Tiếng Anh | 简体中文 | 繁體中文 | 한국어 | tiếng Tây Ban Nha | 日本語 | हिन्दी | Русский | người Bồ Đào Nha | తెలుగు | người Pháp | tiếng Đức | tiếng Ý | Tiếng Việt | العربية | اردو | বাংলা | فارسی | Româna | Türkçe

Các mô hình được đào tạo trước tiên tiến nhất để suy luận và đào tạo

Transformers đóng vai trò là khung định nghĩa mô hình cho máy học tiên tiến với văn bản, thị giác máy tính, âm thanh, video và các mô hình đa phương thức, cho cả suy luận và đào tạo.

Nó tập trung định nghĩa mô hình để định nghĩa này được thống nhất trên toàn hệ sinh thái. transformers là trục xoay trên các khung: nếu định nghĩa mô hình được hỗ trợ, nó sẽ tương thích với phần lớn các khung đào tạo (Axolotl, Unsloth, DeepSpeed, FSDP, PyTorch-Lightning, ...), công cụ suy luận (vLLM, SGLang, TGI, ...) và các thư viện mô hình liền kề (Llama.cpp, mlx, ...) tận dụng định nghĩa mô hình từ transformers.

Chúng tôi cam kết hỗ trợ các mô hình tiên tiến mới và dân chủ hóa việc sử dụng chúng bằng cách làm cho định nghĩa mô hình của chúng trở nên đơn giản, có thể tùy chỉnh và hiệu quả.

Có hơn 1 triệu máy biến áp điểm kiểm tra mô hình trên Trung tâm Hugging Face bạn có thể sử dụng

Khám phá trung tâm ngay hôm nay để tìm một mô hình và sử dụng Transformers để giúp bạn bắt đầu ngay.

Cài đặt

Máy biến áp hoạt động với Python 3.10+ và PyTorch 2.5+.

Tạo và kích hoạt môi trường ảo với venv hoặc tia cực tím, gói và trình quản lý dự án Python dựa trên Rust nhanh.

# venv
python -m venv .my-env
source .my-env/bin/activate
# uv
uv venv .my-env
source .my-env/bin/activate

Cài đặt Transformers trong môi trường ảo của bạn.

# pip
pip install "transformers[torch]"

# uv
uv pip install "transformers[torch]"

Cài đặt Transformers từ nguồn nếu bạn muốn có những thay đổi mới nhất trong thư viện hoặc muốn đóng góp. Tuy nhiên, mới nhất phiên bản có thể không ổn định. Hãy thoải mái mở một vấn đề nếu bạn gặp lỗi.

git clone https://github.com/huggingface/transformers.git
cd transformers

# pip
pip install '.[torch]'

# uv
uv pip install '.[torch]'

Bắt đầu nhanh

Hãy bắt đầu với Transformers ngay với Đường ống API. các Pipeline là lớp suy luận cấp cao hỗ trợ các tác vụ văn bản, âm thanh, hình ảnh và đa phương thức. Nó xử lý tiền xử lý đầu vào và trả về đầu ra thích hợp.

Khởi tạo một quy trình và chỉ định mô hình để sử dụng cho việc tạo văn bản. Mô hình được tải xuống và lưu vào bộ nhớ đệm để bạn có thể dễ dàng sử dụng lại. Cuối cùng, chuyển một số văn bản để nhắc mô hình.

from transformers import pipeline

pipeline = pipeline(task="text-generation", model="Qwen/Qwen2.5-1.5B")
pipeline("the secret to baking a really good cake is ")
[{'generated_text': 'the secret to baking a really good cake is 1) to use the right ingredients and 2) to follow the recipe exactly. the recipe for the cake is as follows: 1 cup of sugar, 1 cup of flour, 1 cup of milk, 1 cup of butter, 1 cup of eggs, 1 cup of chocolate chips. if you want to make 2 cakes, how much sugar do you need? To make 2 cakes, you will need 2 cups of sugar.'}]

Để trò chuyện với một người mẫu, cách sử dụng cũng giống như vậy. Sự khác biệt duy nhất là bạn cần xây dựng lịch sử trò chuyện (đầu vào cho Pipeline) giữa bạn và hệ thống.

[!TIP] Bạn cũng có thể trò chuyện trực tiếp với người mẫu từ dòng lệnh, miễn là transformers serve đang chạy.

transformers chat Qwen/Qwen2.5-0.5B-Instruct
import torch
from transformers import pipeline

chat = [
    {"role": "system", "content": "You are a sassy, wise-cracking robot as imagined by Hollywood circa 1986."},
    {"role": "user", "content": "Hey, can you tell me any fun things to do in New York?"}
]

pipeline = pipeline(task="text-generation", model="meta-llama/Meta-Llama-3-8B-Instruct", dtype=torch.bfloat16, device_map="auto")
response = pipeline(chat, max_new_tokens=512)
print(response[0]["generated_text"][-1]["content"])

Mở rộng các ví dụ bên dưới để xem cách Pipeline hoạt động với những phương thức và nhiệm vụ khác nhau.

Nhận dạng giọng nói tự động
from transformers import pipeline

pipeline = pipeline(task="automatic-speech-recognition", model="openai/whisper-large-v3")
pipeline("https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/mlk.flac")
{'text': ' I have a dream that one day this nation will rise up and live out the true meaning of its creed.'}
Phân loại hình ảnh

from transformers import pipeline

pipeline = pipeline(task="image-classification", model="facebook/dinov2-small-imagenet1k-1-layer")
pipeline("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png")
[{'label': 'macaw', 'score': 0.997848391532898},
 {'label': 'sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita',
  'score': 0.0016551691805943847},
 {'label': 'lorikeet', 'score': 0.00018523589824326336},
 {'label': 'African grey, African gray, Psittacus erithacus',
  'score': 7.85409429227002e-05},
 {'label': 'quail', 'score': 5.502637941390276e-05}]
Trả lời câu hỏi trực quan

from transformers import pipeline

pipeline = pipeline(task="visual-question-answering", model="Salesforce/blip-vqa-base")
pipeline(
    image="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/idefics-few-shot.jpg",
    question="What is in the image?",
)
[{'answer': 'statue of liberty'}]

Tại sao tôi nên sử dụng Transformer?

  1. Mẫu mã hiện đại dễ sử dụng:

    • Hiệu suất cao về hiểu và tạo ngôn ngữ tự nhiên, thị giác máy tính, âm thanh, video và các tác vụ đa phương thức.
    • Rào cản gia nhập thấp dành cho các nhà nghiên cứu, kỹ sư và nhà phát triển.
    • Rất ít sự trừu tượng hướng tới người dùng chỉ với ba lớp để tìm hiểu.
    • Một API thống nhất để sử dụng tất cả các mô hình được đào tạo trước của chúng tôi.
  2. Chi phí điện toán thấp hơn, lượng khí thải carbon nhỏ hơn:

    • Chia sẻ các mô hình đã được đào tạo thay vì đào tạo lại từ đầu.
    • Giảm thời gian tính toán và chi phí sản xuất.
    • Hàng trăm kiến ​​trúc mô hình với hơn 1 triệu điểm kiểm tra được huấn luyện trước trên tất cả các phương thức.
  3. Chọn khuôn khổ phù hợp cho từng giai đoạn trong vòng đời của mô hình:

    • Đào tạo các mô hình tiên tiến nhất trong 3 dòng mã.
    • Di chuyển một mô hình duy nhất giữa các khung PyTorch/JAX/TF2.0 theo ý muốn.
    • Chọn khuôn khổ phù hợp để đào tạo, đánh giá và sản xuất.
  4. Dễ dàng tùy chỉnh một mô hình hoặc một ví dụ theo nhu cầu của bạn:

    • Chúng tôi cung cấp các ví dụ cho từng kiến trúc để tái tạo các kết quả được công bố bởi các tác giả ban đầu của nó.
    • Phần bên trong của mô hình được phơi bày một cách nhất quán nhất có thể.
    • Các tệp mô hình có thể được sử dụng độc lập với thư viện để thử nghiệm nhanh.
Hugging Face Enterprise Hub

Khi nào tôi không nên sử dụng Transformers?

  • Thư viện này không phải là một hộp công cụ mô-đun gồm các khối xây dựng cho mạng lưới thần kinh. Mã trong các tệp mô hình không được tái cấu trúc với mục đích trừu tượng hóa bổ sung, do đó các nhà nghiên cứu có thể nhanh chóng lặp lại trên từng mô hình mà không cần đi sâu vào các tệp/tệp trừu tượng bổ sung.
  • Quá trình đào tạo API được tối ưu hóa để hoạt động với các mô hình PyTorch do Transformers cung cấp. Đối với các vòng lặp học máy chung, bạn nên sử dụng một thư viện khác như tăng tốc.
  • các kịch bản mẫu chỉ là ví dụ. Chúng có thể không nhất thiết phải hoạt động ngay lập tức trong trường hợp sử dụng cụ thể của bạn và bạn sẽ cần điều chỉnh mã để nó hoạt động.

100 dự án sử dụng Transformers

Transformers không chỉ là một bộ công cụ để sử dụng các mô hình được đào tạo trước mà còn là một cộng đồng gồm các dự án được xây dựng xung quanh nó và Trung tâm Hugging Face. Chúng tôi muốn Transformers cho phép các nhà phát triển, nhà nghiên cứu, sinh viên, giáo sư, kỹ sư và bất kỳ ai khác xây dựng các dự án mơ ước của họ.

Để kỷ niệm 100.000 ngôi sao của Transformers, chúng tôi muốn thu hút sự chú ý của cộng đồng bằng máy biến áp tuyệt vời trang liệt kê 100 dự án đáng kinh ngạc được xây dựng bằng Transformers.

Nếu bạn sở hữu hoặc sử dụng một dự án mà bạn tin rằng nên nằm trong danh sách, vui lòng mở PR để thêm dự án đó!

Mô hình ví dụ

Bạn có thể kiểm tra trực tiếp hầu hết các mẫu của chúng tôi trên Trang mô hình trung tâm.

Mở rộng từng phương thức bên dưới để xem một số mô hình ví dụ cho các trường hợp sử dụng khác nhau.

Âm thanh
Thị giác máy tính
Đa phương thức
  • Âm thanh hoặc văn bản thành văn bản với Voxtral, Âm thanh hồng hạc
  • Trả lời câu hỏi tài liệu bằng Bố cụcLMv3
  • Hình ảnh hoặc văn bản thành văn bản với Qwen-VL
  • Chú thích hình ảnh BLIP-2
  • Hiểu tài liệu dựa trên OCR với GOT-OCR2
  • Trả lời câu hỏi bằng bảng TAPAS
  • Sự hiểu biết và tạo ra đa phương thức thống nhất với Emu3
  • Tầm nhìn để nhắn tin với Llava-OneVision
  • Trả lời câu hỏi trực quan bằng Llava
  • Phân đoạn biểu thức giới thiệu trực quan với Kosmos-2
NLP
  • Hoàn thành từ có mặt nạ với BERT hiện đại
  • Nhận dạng thực thể được đặt tên với Gemma
  • Trả lời câu hỏi bằng Hỗn hợp
  • Tóm tắt với BART
  • Dịch với T5
  • Tạo văn bản với Llama
  • Phân loại văn bản bằng Qwen

Trích dẫn

Bây giờ chúng tôi có một giấy bạn có thể trích dẫn cho 🤗 thư viện Transformers:

@inproceedings{wolf-etal-2020-transformers,
    title = "Transformers: State-of-the-Art Natural Language Processing",
    author = "Thomas Wolf and Lysandre Debut and Victor Sanh and Julien Chaumond and Clement Delangue and Anthony Moi and Pierric Cistac and Tim Rault and Rémi Louf and Morgan Funtowicz and Joe Davison and Sam Shleifer and Patrick von Platen and Clara Ma and Yacine Jernite and Julien Plu and Canwen Xu and Teven Le Scao and Sylvain Gugger and Mariama Drame and Quentin Lhoest and Alexander M. Rush",
    booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = oct,
    year = "2020",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2020.emnlp-demos.6/",
    pages = "38--45"
}

Dự án cùng danh mục

ollama/ollama

Thiết lập và chạy với Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma và các mẫu khác.

179k18k58 phút trước
GitHubLLM / Mô hình ngôn ngữGo

f/prompts.chat

f.k.a. Lời nhắc ChatGPT tuyệt vời. Chia sẻ, khám phá và thu thập lời nhắc từ cộng đồng. Nguồn mở và miễn phí — tự lưu trữ cho tổ chức của bạn với sự riêng tư hoàn toàn.

168k22k20 giờ trước
GitHubLLM / Mô hình ngôn ngữHTML

open-webui/open-webui

Giao diện AI thân thiện với người dùng (Hỗ trợ Ollama, OpenAI API, ...)

150k22k58 phút trước
GitHubLLM / Mô hình ngôn ngữPython

ggml-org/llama.cpp

Suy luận LLM trong C/C++

125k22k2 giờ trước
GitHubLLM / Mô hình ngôn ngữC++

microsoft/generative-ai-for-beginners

21 bài học, bắt đầu xây dựng bằng AI sáng tạo

118k62k4 ngày trước
GitHubLLM / Mô hình ngôn ngữJupyter Notebook

rasbt/LLMs-from-scratch

Triển khai LLM giống ChatGPT trong PyTorch từ đầu, từng bước

104k16k10 giờ trước
GitHubLLM / Mô hình ngôn ngữJupyter Notebook
huggingface/transformers — Repo Trending