How Much Does It Cost to Use GPT? GPT-3 Pricing Explained
Việc phát hành ChatGPT đã gây ra sự cường điệu lớn xung quanh công nghệ đằng sau nó: Generative Pretraining Transformer-3 (thường được gọi là GPT-3). Không có thắc mắc! Có khả năng thực hiện các tác vụ NLP với độ chính xác cao, có thể tự động hóa nhiều tác vụ liên quan đến ngôn ngữ như phân loại văn bản, trả lời câu hỏi, dịch máy, tóm tắt văn bản; nó có thể được sử dụng để tạo nội dung, phân tích dữ liệu khách hàng hoặc phát triển các hệ thống AI đàm thoại tiên tiến.
Nếu bạn đang đọc bài viết này, có lẽ bạn đã có cơ hội trải nghiệm ChatGPT hoặc thấy nó hoạt động nổi bật trên Youtube, blog và các bài đăng trên mạng xã hội, và bây giờ bạn đang nghĩ đến việc đưa mọi thứ lên một tầm cao mới và khai thác sức mạnh của GPT-3 cho các dự án của riêng bạn.
Trước khi bạn đi sâu vào tất cả các khả năng thú vị và lập kế hoạch lộ trình cho sản phẩm của mình, hãy giải quyết một câu hỏi quan trọng:
OpenAI hứa hẹn giá cả đơn giản và linh hoạt.
Chúng ta có thể chọn từ bốn mô hình ngôn ngữ: Ada, Babbage, Curie và Davinci. Davinci là ứng dụng mạnh nhất (được sử dụng trong ChatGPT), nhưng ba ứng dụng còn lại vẫn có thể được sử dụng thành công cho các tác vụ dễ dàng hơn, chẳng hạn như viết tóm tắt hoặc thực hiện phân tích tình cảm.
Giá được tính trên mỗi 1K mã thông báo. Sử dụng mô hình Davinci, bạn sẽ trả 1 đô la cho mỗi 50 nghìn mã thông báo được sử dụng. Có nhiều không? Như đã giải thích trên trang định giá OpenAI :
Bạn có thể coi mã thông báo là những đoạn từ được sử dụng để xử lý ngôn ngữ tự nhiên. Đối với văn bản tiếng Anh, 1 mã thông báo có khoảng 4 ký tự hoặc 0,75 từ. Điều này có nghĩa là khoảng ¾ từ (vì vậy 100 mã thông báo ~= 75 từ). Như một điểm tham chiếu, các tác phẩm được thu thập của Shakespeare có khoảng 900.000 từ hoặc 1,2 triệu mã thông báo.
Vì vậy, chỉ với 100 đô la, bạn có thể thực hiện các thao tác trên ~3.750.000 từ tiếng Anh, tức là ~7500 trang văn bản có khoảng cách đơn. Tuy nhiên, như chúng ta có thể đọc thêm,
Yêu cầu câu trả lời được lập hóa đơn dựa trên số lượng mã thông báo trong đầu vào bạn cung cấp và câu trả lời mà mô hình tạo ra . Trong nội bộ, điểm cuối này thực hiện các cuộc gọi đến API Tìm kiếm và Hoàn thành, do đó, chi phí của nó là một hàm của chi phí của những điểm cuối đó.
Vì vậy, 7500 trang văn bản của chúng tôi bao gồm đầu vào, đầu ra và lời nhắc với "hướng dẫn" cho mô hình. Điều này làm cho toàn bộ quá trình ước tính trở nên phức tạp một chút vì chúng ta không biết đầu ra có thể là gì.
Để tìm ra nó, chúng tôi quyết định tiến hành một thử nghiệm.
Mục tiêu là để kiểm tra mức sử dụng mã thông báo thực tế với ba lời nhắc mẫu, hiểu những yếu tố nào có tác động đến đầu ra và tìm hiểu cách ước tính chi phí của các dự án GPT-3 tốt hơn.
Thử nghiệm liên quan đến việc kết hợp các lời nhắc với tập hợp văn bản, gửi chúng tới một API, sau đó tính toán số lượng mã thông báo được trả về.
Chi phí của yêu cầu API sau đó được theo dõi trong chế độ xem sử dụng và – vì có một yêu cầu cho mỗi giới hạn thời hạn thanh toán – thời gian chờ ít nhất 5 phút đã được triển khai. Sau đó, chi phí được tính toán thủ công và so sánh với chi phí được ghi trong chế độ xem sử dụng để xem liệu có bất kỳ sự khác biệt nào không.
Kế hoạch rất đơn giản. Chúng tôi cần thu thập một số kho dữ liệu (~10), chuẩn bị lời nhắc, ước tính mức sử dụng mã thông báo và gọi API một vài lần để xem kết quả thực tế.
Dựa trên kết quả, chúng tôi đã lên kế hoạch tìm kiếm mối tương quan giữa đầu vào (ngữ liệu + dấu nhắc) và đầu ra. Chúng tôi muốn khám phá những yếu tố nào ảnh hưởng đến độ dài của đầu ra và xem liệu chúng tôi có thể dự đoán việc sử dụng mã thông báo chỉ dựa trên đầu vào và lời nhắc hay không.
Đầu tiên, chúng tôi muốn kiểm tra xem thông tin trên trang Định giá OpenAI chính xác đến mức nào. Để làm điều đó, chúng tôi đã lấy kết quả từ Tokenizer – một công cụ chính thức do OpenAI cung cấp để tính toán cách một đoạn văn bản sẽ được API mã hóa và tổng số lượng mã thông báo trong đoạn văn bản đó – để sau này chúng tôi có thể so sánh chúng với dữ liệu từ chế độ xem sử dụng và thanh toán thực tế.
Với tư cách là nhóm của chúng tôi, chúng tôi đã lấy mô tả của mười ứng dụng được tải xuống nhiều nhất: TikTok, Instagram, Facebook, WhatsApp, Telegram, Snapchat, Zoom, Messenger, CapCut và Spotify.
Những điều này sẽ cho phép chúng tôi chạy một số thao tác trên văn bản và kiểm tra kho ngữ liệu cho các trường hợp sử dụng khác nhau, chẳng hạn như tìm kiếm từ khóa, tóm tắt các đoạn văn bản dài hơn và chuyển đổi văn bản thành các yêu cầu của dự án. Độ dài của các mô tả thay đổi từ 376 đến 2060 từ.
Chúng ta hãy xem nó trông như thế nào. Đây là đoạn mô tả TikTok:
Mẫu văn bản bao gồm 1609 từ và 2182 mã thông báo – tùy thuộc vào mẫu GPT-3 đã chọn – sẽ có giá:
Chúng tôi cũng làm như vậy với từng mô tả trong số mười mô tả ứng dụng trong kho dữ liệu của mình.
Đây là tài liệu tham khảo của chúng tôi cho các thử nghiệm thực tế với API GPT-3.
Bước tiếp theo, chúng tôi đã chuẩn bị lời nhắc. Vì mục đích của thử nghiệm này, chúng tôi muốn sử dụng ba lời nhắc cho ba trường hợp sử dụng khác nhau.
Lời nhắc đầu tiên là về việc thu thập các yêu cầu của dự án dựa trên mô tả ứng dụng đã cho.
Describe in detail, using points and bullet points, requirements strictly related to the project of an application similar to the below description:
Lời nhắc của chúng tôi dài 22 từ (148 ký tự), tương đương với 26 Mã thông báo. Chúng tôi đã thêm các giá trị này vào kho dữ liệu và tính toán lại mức sử dụng mã thông báo ước tính cho từng mô hình.
Lời nhắc thứ hai là về việc viết tóm tắt các đoạn văn bản dài. “Công việc” của người mẫu sẽ là xác định những phần quan trọng nhất của văn bản và viết một bản tóm tắt ngắn gọn.
Create a short summary consisting of one paragraph containing the main takeaways of the below text:
Lời nhắc của chúng tôi dài 16 từ (99 ký tự), tương đương với 18 Mã thông báo. Một lần nữa, chúng tôi đã thêm các giá trị này vào kho văn bản.
Lời nhắc cuối cùng được cho là tìm và phân loại các từ khóa trong văn bản, sau đó trình bày chúng ở một dạng nhất định.
Parse the below content in search of keywords. Keywords should be short and concise. Assign each keyword a generic category, like a date, person, place, number, value, country, city, day, year, etc. Present it as a list of categories: keyword pairs.
Nó dài 41 từ (250 ký tự), tương đương với 61 mã thông báo. Cùng với văn bản văn bản, nó đã cho chúng tôi:
Bước tiếp theo được cho là cuối cùng sẽ cho chúng ta một số câu trả lời. Chúng tôi sẽ gửi lời nhắc của mình bằng văn bản kho dữ liệu tới API, tính toán số lượng mã thông báo được trả về trong đầu ra và theo dõi các yêu cầu API của chúng tôi trong chế độ xem sử dụng.
Ở giai đoạn này, chúng tôi quyết định chỉ tập trung vào mô hình GPT tiên tiến nhất: Davinci – mô hình cốt lõi của ChatGPT.
Vì việc sử dụng mã thông báo trên nền tảng OpenAI được đo bằng khung thời gian 5 phút, tập lệnh của chúng tôi chỉ gửi một yêu cầu API cứ sau 5 phút. Mỗi yêu cầu là sự kết hợp của một đoạn văn bản (corpora) và một lời nhắc. Bằng cách đó, chúng tôi có thể nhận được thông tin chính xác về việc sử dụng mã thông báo cho mọi kết hợp và so sánh kết quả với các ước tính.
Tổng cộng, chúng tôi có 30 kết hợp để kiểm tra: 3 lời nhắc x 10 mô tả ứng dụng. Vì lợi ích của thử nghiệm này, chúng tôi đã không thêm bất kỳ biến bổ sung nào trong cài đặt mô hình, chẳng hạn như nhiệt độ của mô hình, vì nó sẽ làm tăng đáng kể số lượng kết hợp và chi phí của thử nghiệm.
Sau khi gửi 30 yêu cầu này, chúng tôi đã so sánh kết quả được hiển thị trong chế độ xem Mức sử dụng với kết quả được lấy trực tiếp từ siêu dữ liệu của lệnh gọi API của chúng tôi.
Các kết quả đã được thống nhất với nhau. Ngoài ra, việc sử dụng mã thông báo của các lời nhắc – bao gồm cả lời nhắc và kho dữ liệu – cũng nhất quán với việc sử dụng được ước tính trước đó với Bộ mã hóa.
Tại thời điểm này, chúng tôi biết rằng chúng tôi có thể ước tính việc sử dụng mã thông báo của đầu vào với độ chính xác cao. Bước tiếp theo là kiểm tra xem có bất kỳ mối tương quan nào giữa độ dài của đầu vào và độ dài của đầu ra hay không và tìm hiểu xem liệu chúng tôi có thể ước tính mức sử dụng mã thông báo của đầu ra hay không.
Mối tương quan giữa số lượng mã thông báo đầu vào và số lượng mã thông báo đầu ra là rất yếu*. Việc đo số lượng mã thông báo đầu vào không đủ để ước tính tổng số mã thông báo được sử dụng trong một yêu cầu.
* Độ dốc thay đổi giữa 0,0029 trong bản tóm tắt TL;DR và 0,0246 trong yêu cầu yêu cầu của dự án.
Mặc dù không có mối tương quan rõ ràng giữa số lượng mã thông báo đầu vào (dấu nhắc + kho dữ liệu) và số lượng mã thông báo đầu ra (phản hồi), nhưng chúng ta có thể thấy rõ rằng yếu tố thực sự ảnh hưởng đến số lượng mã thông báo đầu ra chính là lời nhắc – hướng dẫn đó đã được trao cho một mô hình.
Trong tất cả các trường hợp được phân tích, cần nhiều mã thông báo hơn để tạo các yêu cầu của dự án hơn là trích xuất và nhóm các từ khóa. Tuy nhiên, sự khác biệt trong những trường hợp này là khá nhỏ và không thực sự ảnh hưởng đến chi phí của một yêu cầu, vốn là ~0,04 USD. Nó có thể sẽ thay đổi nếu lời nhắc yêu cầu mô hình GPT-3 tạo một đoạn văn bản dài hơn (ví dụ: một bài viết trên blog) dựa trên một bản tóm tắt.
Ngoài trường hợp sử dụng cụ thể (chúng tôi sử dụng mô hình này để làm gì), còn có các yếu tố khác có thể ảnh hưởng đến chi phí sử dụng GPT-3 trong dự án của bạn. Trong số những người khác, đây sẽ là:
Thông số nhiệt độ kiểm soát tính ngẫu nhiên của các kết quả đầu ra của mô hình và việc đặt nó ở giá trị cao hơn có thể dẫn đến các kết quả đầu ra đa dạng và khó đoán hơn. Điều này có thể làm tăng tài nguyên tính toán cần thiết để chạy mô hình và do đó ảnh hưởng đến chi phí.
Một lời nhắc tốt sẽ giảm thiểu nguy cơ nhận được phản hồi sai.
Chi phí sử dụng GPT-3 cũng có thể bị ảnh hưởng bởi tính khả dụng của kiểu máy. Nếu nhu cầu về mô hình này cao, chi phí có thể tăng do số lượng có hạn.
Chi phí sử dụng GPT-3 cũng có thể bị ảnh hưởng bởi mức độ tùy chỉnh được yêu cầu. Nếu bạn cần chức năng cụ thể, có thể cần thêm công việc phát triển, điều này có thể làm tăng chi phí.
Là người dùng, bạn có thể kiểm soát ngân sách bằng cách đặt giới hạn cứng và mềm. Với giới hạn mềm, bạn sẽ nhận được thông báo qua email sau khi vượt qua ngưỡng sử dụng nhất định và giới hạn cứng sẽ đơn giản từ chối mọi yêu cầu API tiếp theo sau khi đạt đến giới hạn đó. Cũng có thể đặt tham số max_tokens
trong yêu cầu.
Tuy nhiên, bạn cần lưu ý rằng các giới hạn bạn đặt sẽ có tác động đến hiệu quả của mô hình. Nếu giới hạn quá thấp, các yêu cầu API sẽ không được gửi, vì vậy bạn – và người dùng của bạn – sẽ không nhận được bất kỳ phản hồi nào.
Thử nghiệm đã chỉ ra rằng rất khó để đưa ra các ước tính chính xác về việc sử dụng mã thông báo chỉ dựa trên kho dữ liệu và lời nhắc.
Chi phí sử dụng GPT-3 có thể bị ảnh hưởng bởi nhiều yếu tố, bao gồm trường hợp sử dụng cụ thể, chất lượng của lời nhắc, mức độ tùy chỉnh, khối lượng lệnh gọi API và tài nguyên điện toán cần thiết để chạy mô hình.
Dựa trên thử nghiệm đã tiến hành, chúng tôi có thể ước tính sơ bộ chi phí sử dụng GPT-3 chỉ cho các trường hợp sử dụng nhất định, chẳng hạn như trích xuất từ khóa, thu thập các yêu cầu của dự án hoặc viết tóm tắt.
Hãy xem xét trường hợp đầu tiên và giả sử rằng bạn có một chatbot dịch vụ khách hàng trên trang web của mình và bạn muốn biết người dùng thường hỏi về điều gì. Để có được những hiểu biết như vậy, bạn cần phải:
Bạn có ~15.000 khách truy cập mỗi tháng và mỗi khách truy cập gửi 3 yêu cầu hai lần một tuần . Trong trường hợp này, chúng tôi có 360.000 yêu cầu mỗi tháng . Nếu chúng tôi lấy độ dài trung bình của đầu vào và đầu ra từ thử nghiệm (~1800 và 80 mã thông báo) làm giá trị đại diện, thì chúng tôi có thể dễ dàng tính giá của một yêu cầu .
Chi phí sử dụng GPT-3 (mô hình Davinci) trong trường hợp được phân tích sẽ là ~$14,4K mỗi tháng.
Tuy nhiên, điều quan trọng cần lưu ý là đây chỉ là một mô phỏng đơn giản hóa và kết quả của nó không mang tính đại diện đầy đủ.
Vì chi phí thực tế của việc xây dựng bất kỳ sản phẩm hỗ trợ GPT-3 nào phụ thuộc vào nhiều yếu tố (độ phức tạp của dự án, số lượng và chất lượng dữ liệu, lời nhắc, cài đặt mô hình, số lượng người dùng), biên độ sai số an toàn của ước tính đó thậm chí sẽ là 50-100%.
Để có được các ước tính đáng tin cậy hơn, sẽ rất hữu ích khi chạy một dự án bằng chứng về khái niệm và thử nghiệm các kịch bản khác nhau trên tập hợp dữ liệu cụ thể – các mẫu kho dữ liệu của riêng bạn.
GPT-3 là một công nghệ tương đối mới và vẫn còn nhiều ẩn số liên quan đến việc sử dụng thương mại của nó. Chi phí sử dụng nó là một trong số đó.
Mặc dù có thể đo mức sử dụng mã thông báo và giá của nó ở phía đầu vào ($0,04 trên 1000 mã thông báo trong mô hình Davinci tiên tiến nhất), thật khó để dự đoán các giá trị này ở đầu ra. Có nhiều biến số tác động đến chúng và mối tương quan giữa đầu vào và đầu ra khá thấp.
Do đó, bất kỳ ước tính "thô" nào cũng chỉ là phỏng đoán thuần túy. Để tăng độ chính xác của ước tính (cũng như để xác thực tính khả thi của việc sử dụng GPT-3 trong một trường hợp sử dụng nhất định), cần phải chạy bằng chứng về khái niệm. Trong một PoC như vậy, chúng tôi lấy kho dữ liệu mẫu và thử nghiệm mô hình với các lời nhắc khác nhau và cài đặt mô hình khác nhau để tìm ra sự kết hợp tốt nhất.
Vào ngày 21 tháng 2, thông tin về dịch vụ OpenAI mới có tên Foundry đã lan truyền nhanh chóng, lan truyền từ Twitter đến các phương tiện công nghệ nổi tiếng nhất, chẳng hạn như Techcrunch vàCMS Wire .
Theo bản tóm tắt sản phẩm, việc chạy phiên bản nhẹ của GPT-3.5 sẽ có giá 78.000 đô la cho cam kết ba tháng hoặc 264.000 đô la cho cam kết một năm. Chạy phiên bản cao cấp nhất của mô hình Davinci (với giới hạn mã thông báo vượt quá giới hạn chúng tôi có trong GPT-3 gấp 8 lần!) sẽ có giá 468.000 đô la cho cam kết ba tháng hoặc 1.584.000 đô la cho cam kết một năm.
Nhưng tất cả những điều này là về cái gì? Như chúng ta có thể đọc trên Techcrunch :
Nếu các ảnh chụp màn hình đáng tin cậy, Foundry — bất cứ khi nào ra mắt — sẽ cung cấp “phân bổ tĩnh” năng lực tính toán (…) dành riêng cho một khách hàng. (…)
Foundry cũng sẽ đưa ra các cam kết ở cấp độ dịch vụ, chẳng hạn như thời gian hoạt động và hỗ trợ kỹ thuật theo lịch trình. Các dịch vụ cho thuê sẽ dựa trên các đơn vị máy tính chuyên dụng với cam kết ba tháng hoặc một năm; chạy một phiên bản mô hình riêng lẻ sẽ yêu cầu một số lượng đơn vị điện toán cụ thể.
Tuy nhiên, có vẻ như cam kết về mức độ dịch vụ không nên được coi là một hợp đồng giá cố định.
Hiện tại, sẽ an toàn khi cho rằng giá chỉ bao gồm quyền truy cập vào một kiểu máy nhất định trên dung lượng chuyên dụng “với toàn quyền kiểm soát cấu hình kiểu máy và hồ sơ hiệu suất”, như chúng ta có thể đọc trên ảnh chụp màn hình tóm tắt sản phẩm.
Giá của mã thông báo trong các mô hình mới – dự kiến sẽ được chờ đợi rộng rãi GPT-4 – vẫn chưa được công bố. Tuy nhiên, trong bản cập nhật tài liệu OpenAI gần đây, chúng ta có thể đọc rằng GPT-3.5 Turbo có giá chỉ bằng 1/10 so với giá của mẫu GPT-3 Davinci – mang lại cho chúng tôi 0,002 đô la cho mỗi 1 nghìn mã thông báo trong GPT-3.5 Turbo.