Lợi nhuận:
- Giải thích khái niệm về mã thông báo, phân biệt mã thông báo đầu vào/đầu ra và mã thông báo.
- Có thể tính toán chi phí của một yêu cầu và khối lượng công việc hàng tháng từ số lượng token và đơn giá
- Có thể so sánh tác động của việc lựa chọn mô hình và thời lượng nhắc nhở đối với chi phí
Bạn không thể xây dựng giải pháp trên quy mô lớn nếu không hiểu tính kinh tế của API LLM. Bản demo chạy một lần; Điều chính là có thể dự đoán hóa đơn sẽ như thế nào khi có hàng nghìn cuộc gọi được thực hiện mỗi tháng. Trong phần này, chúng ta thiết lập khía cạnh tiền bạc của mọi thứ: mã thông báo là gì, tại sao đầu vào và đầu ra có giá khác nhau, cách tính chi phí của một yêu cầu và cách lập ngân sách cho khối lượng công việc hàng tháng. Thông tin này cho phép bạn đo lường lợi nhuận của các kỹ thuật tối ưu hóa (bộ nhớ đệm, lựa chọn mô hình, lô) trong các đơn vị tiếp theo.
Mã thông báo là gì?
Mã thông báo là đơn vị nhỏ nhất trong đó mô hình xử lý văn bản. Một từ không phải lúc nào cũng là một dấu hiệu; mã thông báo thường là một phần của một từ. Nói một cách đại khái, trong tiếng Anh, 1 token là ≈ 4 ký tự ≈ 0,75 từ. Trong tiếng Thổ Nhĩ Kỳ và mã, tỷ lệ khác nhau: Các từ tiếng Thổ Nhĩ Kỳ thường được chia thành nhiều mã thông báo hơn trong tiếng Anh do cấu trúc hậu tố và bảng chữ cái của nó. Vì vậy, cần phải đo lường số lượng token bằng công cụ đếm token của nhà cung cấp thay vì đoán bằng mắt.
Mã thông báo (quá trình chia văn bản thành mã thông báo) có thể khác nhau đối với mỗi kiểu máy. Điều này có hai hậu quả thực tế: (1) Cùng một văn bản có thể mang lại số lượng mã thông báo khác nhau trong các mô hình khác nhau; (2) Các dự đoán được thực hiện bằng mã thông báo từ các nhà cung cấp khác (ví dụ: thư viện tiktoken của OpenAI) sẽ không chính xác đối với Claude — hãy sử dụng mẹo đếm mã thông báo cho mô hình bạn đang sử dụng.
Gợi ý: "Khoảng bao nhiêu token?" Đừng trả lời câu hỏi một cách mù quáng. Truyền văn bản đại diện thông qua API đếm mã thông báo; Các quyết định ngân sách căn cứ vào việc đo lường.
Mã thông báo đầu vào và đầu ra
Hóa đơn gồm 2 mục:
- Mã thông báo đầu vào: Mọi thứ bạn gửi tới mô hình - lời nhắc của hệ thống, các chuyến tham quan trước đây, tin nhắn của người dùng, tài liệu nếu có. Tất cả đều được xử lý cùng một lúc.
- Mã thông báo đầu ra: Phản hồi do mô hình tạo ra. Đối với mỗi mã thông báo đầu ra, mô hình sẽ thực hiện tính toán từng bước.
Với hầu hết các nhà cung cấp, đầu ra đắt hơn nhiều lần so với đầu vào. Lý do rất đơn giản: đọc tất cả đầu vào cùng một lúc rẻ hơn so với việc tạo ra từng mã thông báo đầu ra. Biết được sự bất đối xứng này sẽ giải thích tại sao việc tối ưu hóa như “yêu cầu câu trả lời ngắn gọn” lại hiệu quả đến vậy.
Giá mẫu (trên 1 triệu token, USD)
Bảng dưới đây là một tài liệu tham khảo; Giá có thể thay đổi theo thời gian, vui lòng xác nhận danh sách hiện tại của nhà cung cấp của bạn.
lớp người mẫu
mô hình mẫu
Đầu vào ($/1 triệu)
Đầu ra ($/1 triệu)
Cách sử dụng điển hình
nhanh/rẻ
Haiku 4.5
1,00
5 giờ 00
Phân loại, ghi nhãn, tóm tắt đơn giản
cân bằng
bài sonnet 5
3,00
15:00
Mục đích chung, mã hóa, công việc đại lý
mạnh mẽ
Tác phẩm 4.8
5 giờ 00
25:00
Lý luận phức tạp, nhiệm vụ tầm xa
Ở mỗi lớp, đầu ra gấp 5 lần đầu vào; Hơn nữa, ngay cả đầu vào của mô hình mạnh cũng gấp 5 lần đầu vào của mô hình giá rẻ. Hai trục này (đầu vào↔đầu ra và lớp mô hình) tạo thành khuôn khổ cho các quyết định chi phí của bạn.
Làm thế nào để tính toán chi phí?
Công thức rất đơn giản:
chi phí = (input_token / 1.000.000) × input_price + (output_token / 1.000.000) × out_price
Tài khoản mẫu. Yêu cầu với Sonnet 5: 1.500 mã thông báo đầu vào, 400 mã thông báo đầu ra.
đầu vào = 1.500 / 1.000.000 × 3,00 = 0,0045 USD đầu ra = 400 / 1.000.000 × 15,00 = tổng cộng 0,0060 USD = 0,0105 USD (khoảng 1 cent)
Một cuộc gọi có vẻ rẻ tiền. Nhưng nhân với số lượng: 20.000 cuộc gọi mỗi ngày → 210 USD mỗi ngày, ~ 6.300 USD mỗi tháng. Đây là lúc quy mô phát huy tác dụng.
Mẫu ngân sách hàng tháng
Để trích xuất chi phí hàng tháng của khối lượng công việc, hãy sử dụng mẫu này:
1) Mã thông báo đầu vào trung bình cho mỗi yêu cầu: ......2) Mã thông báo đầu ra trung bình cho mỗi yêu cầu: ......3) Số lượng yêu cầu mỗi ngày: ......4) Số ngày làm việc mỗi tháng: ......5) Chi phí cho mỗi yêu cầu = (1)/1M×input_price + (2)/1M×output_price6) Chi phí hàng tháng = (5) × (3) × (4)
Đổ mẫu này vào bảng tính và xem tổng diễn ra như thế nào khi bạn thay đổi mô hình thể hiện các quyết định lựa chọn mô hình (đơn vị 5) và bộ đệm (đơn vị 6).
Rút ngắn lời nhắc bằng các mẫu có thể sao chép
Hầu hết chi phí đều đến từ những lời nhắc dài dòng không cần thiết và lãng phí đầu ra. Các mẫu dưới đây cung cấp tiết kiệm trực tiếp.
# Giới hạn độ dài đầu ra. Trả lời tối đa 3 mục. Thêm một câu lý do hoặc câu giới thiệu.
# Chỉ trả về trường được yêu cầu Chỉ trả về JSON sau, không thêm bất kỳ văn bản nào khác:{"category": "...", "urgency": "low|medium|high"}
# Xóa bối cảnh không cần thiết Chỉ xóa ngày và số tiền khỏi văn bản sau. Không lặp lại toàn bộ văn bản.Text: """{{text}}"""
# Tóm tắt bài phát biểu dài (lưu đầu vào) Tóm tắt bài phát biểu này thành 5 mục. Tôi sẽ sử dụng bản tóm tắt này thay vì bản tóm tắt đầy đủ trong các vòng tiếp theo. Bài phát biểu: """{{quá khứ}}"""
Lời nhắc yếu / Lời nhắc mạnh (về chi phí)
# YẾU (phát hành đầu ra, đắt tiền)Phân tích yêu cầu hỗ trợ này và viết cho tôi một bài đánh giá toàn diện.
# MẠNH (hạn chế đầu ra, rẻ và có thể dự đoán được) Phân loại yêu cầu hỗ trợ này. Chỉ cần trả về JSON sau:{"category://invoice|digital|refund|other","urgency://low|medium|high"}Không viết mô tả.
Phiên bản yếu có thể tạo ra 500 mã thông báo đầu ra; phiên bản mạnh mẽ ~15. Bởi vì đầu ra đắt tiền nên đây là sự khác biệt đáng kể trên mỗi cuộc gọi và nhân với số lượng.
Ba hộp nhỏ
Trường hợp 1 - Chi phí ẩn của dấu nhắc dài. Khi tự động hóa kế toán sắp xếp từng hóa đơn, nó đã thêm một “sổ quy tắc” dài 40 trang làm đầu vào cho mỗi yêu cầu: ~12.000 mã thông báo đầu vào cho mỗi yêu cầu. Với Sonnet 5 12.000/1M×3 = 0,036 USD vừa được nhập. 5.000 hóa đơn mỗi ngày → $180 mỗi ngày. Bằng cách lưu vào bộ nhớ đệm chi phí đầu vào của sách quy tắc (đơn vị 6) giảm ~ 90%.
Trường hợp 2 - Lợi ích của việc thu nhỏ mô hình. Một nhóm đang thực hiện gắn thẻ cảm xúc “tích cực/tiêu cực” đơn giản với Opus 4.8: 300 mã thông báo đầu vào + 10 mã thông báo đầu ra. Chi phí Opus là 300/1M×5 + 10/1M×25 = 0,00175 USD. Chuyển sang Haiku, 300/1M×1 + 10/1M×5 = 0,00035 USD — Rẻ hơn 5 lần, sự khác biệt về độ chính xác là không thể đo lường được. Trên 3 triệu cuộc gọi mỗi tháng, mức chênh lệch là 5.250 USD → 1.050 USD.
Trường hợp 3 - Giải phóng đầu ra. Khi nhóm tiếp thị tạo ra bản mô tả sản phẩm, họ không đặt ra giới hạn nào về đầu ra; mô hình đôi khi cho biết 1.500 token. Khi tôi thêm hướng dẫn "tối đa 60 từ", sản lượng trung bình giảm từ 900 xuống 90 mã thông báo. Vì việc in ấn rất tốn kém nên hóa đơn hàng tháng giảm đi một phần ba và tin nhắn trở nên hữu ích hơn.
Những lỗi thường gặp
- Đoán mã thông báo bằng mắt: Bạn có thể sai, đặc biệt là tiếng Thổ Nhĩ Kỳ và mã. Đo lường.
- Giả sử đầu vào và đầu ra giống nhau: Đầu ra thường đắt hơn nhiều; Hầu hết sự tối ưu hóa đến từ việc rút ngắn đầu ra.
- Đừng để bị lừa bởi sự rẻ tiền của một cuộc gọi duy nhất: Quyết định được đưa ra theo số lượng. 0,01 USD × triệu = 10.000 USD.
- Dự đoán bằng mã thông báo của nhà cung cấp khác: Cho kết quả không chính xác; Sử dụng công cụ đếm mã thông báo của mô hình.
- Mở rộng không giới hạn lịch sử hội thoại: Mỗi vòng được thêm vào mục nhập; tóm tắt trong những cuộc trò chuyện dài.
- Giữ `max_tokens` ở mức cao không cần thiết: Che giấu kế hoạch ngân sách và nguy cơ bị cắt giảm; Đưa ra một giá trị thực tế.
Sâu hơn: Cửa sổ bối cảnh và chi phí đầu vào dài
Điều quan trọng là phải xem mức giá tăng lên như thế nào "trong suốt cuộc trò chuyện" chứ không chỉ "theo yêu cầu". Tổng lượng văn bản mà mô hình có thể xử lý được gọi là cửa sổ ngữ cảnh; Tổng đầu vào và đầu ra phải vừa với cửa sổ này. Các mô hình hiện đại cung cấp các cửa sổ rất lớn (hàng trăm nghìn, thậm chí hàng triệu mã thông báo), nhưng điều đó không có nghĩa là bạn có thể "lấp đầy nó vô hạn" — bất cứ thứ gì bạn đặt vào cửa sổ đều được tính là đầu vào.
Cái bẫy trong các cuộc trò chuyện dài là thế này: với mỗi vòng mới, bạn lại gửi lại toàn bộ lịch sử (tình trạng không quốc tịch ở đơn vị 1). Trong cuộc trò chuyện kéo dài 20 vòng, yêu cầu thứ 20 sẽ lấy toàn bộ 19 vòng đầu tiên làm đầu vào. Do đó, khi cuộc trò chuyện kéo dài hơn, chi phí cho mỗi yêu cầu sẽ tăng theo cấp số nhân thay vì tuyến tính. Một cuộc trò chuyện kéo dài 50 vòng với trợ lý đại lý có thể tạo ra chi phí đầu vào gấp hàng chục lần vòng đầu tiên.
Có hai cách để quản lý việc này. Đầu tiên là tóm tắt: nén các vòng cũ hơn thành một khối tóm tắt duy nhất, chỉ giữ nguyên một số vòng cuối cùng. Thứ hai là bộ nhớ đệm nhanh chóng (đơn vị 6): đọc ngữ cảnh cố định ở mức giá bằng một phần mười thay vì xử lý nhiều lần ở mức giá đầy đủ. Cùng nhau, chúng giảm đáng kể chi phí cho khối lượng công việc dài và đòi hỏi nhiều ngữ cảnh. Vì vậy, kinh tế mã thông báo là về việc thiết kế toàn bộ phiên chứ không phải một yêu cầu duy nhất.
Tóm lại
Mã thông báo là đơn vị nhỏ nhất trong đó văn bản được xử lý; đầu vào và đầu ra được định giá riêng và đầu ra thường đắt hơn nhiều. Chi phí là số lượng token nhân với đơn giá và quyết định thực sự được đưa ra theo số lượng. Rút ngắn lời nhắc, giới hạn đầu ra và chọn mẫu máy nhẹ nhất hoàn thành nhiệm vụ là những đòn bẩy trực tiếp nhất giúp giảm chi phí gấp nhiều lần.
Nhiệm vụ ứng dụng
Hãy chọn một nhiệm vụ của riêng bạn. (1) Xác định số lượng mã thông báo đầu vào và đầu ra ước tính cho lời nhắc đại diện (đo bằng công cụ đếm mã thông báo nếu có thể). (2) Tính chi phí cho mỗi yêu cầu cho ba lớp mô hình. (3) Ước tính số lượng yêu cầu hàng ngày của bạn và lấy ngân sách hàng tháng cho ba mô hình. (4) Thêm lệnh rút ngắn đầu ra và ghi lại mức tiết kiệm dự kiến.
danh sách kiểm tra
- [ ] Tôi có thể giải thích khái niệm về mã thông báo và mã thông báo đó thay đổi tùy theo mô hình.
- [ ] Tôi biết tại sao mã thông báo đầu vào và đầu ra lại có giá khác nhau.
- [ ] Tôi có thể tính toán chi phí của một yêu cầu bằng công thức.
- [ ] Tôi có thể tạo ngân sách hàng tháng cho khối lượng công việc bằng cách sử dụng mẫu.
- [ ] Tôi có thể đưa ra một ví dụ về lợi ích của việc rút ngắn đầu ra và giảm mô hình.