Kỹ thuật nhanh chóng
Khám phá Trình thông dịch mã ChatGPT của OpenAI: Đi sâu vào khả năng của nó

Những tiến bộ của OpenAI trong Xử lý ngôn ngữ tự nhiên (NLP) được đánh dấu bằng sự phát triển của Mô hình ngôn ngữ lớn (LLM), làm nền tảng cho các sản phẩm được hàng triệu người sử dụng, bao gồm trợ lý mã hóa GitHub Copilot và công cụ tìm kiếm Bing. Những mô hình này, thông qua khả năng ghi nhớ và kết hợp thông tin độc đáo, đã đặt ra các tiêu chuẩn vô song trong các nhiệm vụ như tạo mã và tạo văn bản.
Hiểu Trình thông dịch mã của ChatGPT
Để hiểu tầm quan trọng của Trình thông dịch mã ChatGPT, điều cần thiết trước tiên là nắm được nó là gì và nó được xây dựng như thế nào.
Về bản chất, Trình thông dịch mã ChatGPT tận dụng các khả năng của ChatGPT nhưng giới thiệu mức độ thành thạo nâng cao trong việc hiểu, diễn giải và thậm chí tạo mã trên vô số ngôn ngữ lập trình. Tính năng này biến ChatGPT từ một trình tạo văn bản thành một công cụ vô giá dành cho các nhà phát triển, hỗ trợ hiểu mã, gỡ lỗi và thậm chí tạo mã.
Đào tạo GPT để viết mã: Phương pháp tiếp cận Codex
Cả hai Trợ lý GitHub và Trình thông dịch mã của ChatGPT sử dụng mô hình mã hóa được phát triển bởi OpenAI.
Codex, một mô hình ngôn ngữ GPT chuyên biệt, được thiết kế để có khả năng viết mã Python thành thạo. Được đào tạo về mã nguồn công khai từ GitHub, Codex thể hiện tiềm năng của mình bằng cách hỗ trợ các tính năng trong GitHub Copilot. Khi được đánh giá về khả năng tổng hợp chương trình từ các chuỗi tài liệu, thước đo tính chính xác của chức năng, Codex vượt trội hơn cả hai GPT-3 và GPT-J.
Một quan sát nổi bật là việc lấy mẫu lặp đi lặp lại nâng cao mức độ thành thạo của Codex. Khi tối đa 100 mẫu cho mỗi vấn đề được sử dụng, tỷ lệ thành công của mô hình tăng lên 70.2%. Hiệu quả như vậy cho thấy khả năng sử dụng xếp hạng heuristic để chọn các mẫu mã chính xác mà không cần đánh giá đầy đủ cho từng mẫu.
Để đánh giá khả năng của nó, mô hình được giao nhiệm vụ tạo các hàm Python độc lập chỉ dựa trên các chuỗi tài liệu. Độ chính xác của mã được tạo sau đó được đánh giá bằng các bài kiểm tra đơn vị. Trong bộ dữ liệu bao gồm 164 bài toán lập trình ban đầu, bao gồm khả năng hiểu ngôn ngữ, thuật toán và bài kiểm tra toán cơ bản, Codex với tham số 12B đã giải được 28.8% của họ trong một nỗ lực duy nhất.
Bằng cách mài giũa mô hình hơn nữa thông qua tinh chỉnh các chức năng độc lập được triển khai chính xác, hiệu quả của mô hình đã được tăng lên, dẫn đến việc giải mã Codex-S 37.7% thách thức trong lần thử đầu tiên. Tuy nhiên, trong lĩnh vực lập trình thực tế, cách tiếp cận thử và sai là phổ biến. Bắt chước kịch bản trong thế giới thực này, mô hình Codex-S, khi có 100 cơ hội, đã giải quyết thành công 77.5% của những thách thức.
Các mô hình tạo như ChatGPT tạo mã thường được đánh giá bằng cách so sánh các mẫu đã tạo với một giải pháp tham chiếu. So sánh này có thể chính xác hoặc sử dụng thước đo tương tự như điểm BLEU. Tuy nhiên, các chỉ số dựa trên đối sánh này thường không nắm bắt được các sắc thái của mã hóa. Một lời chỉ trích quan trọng đối với BLEU là nó không hiệu quả trong việc nắm bắt các đặc điểm ngữ nghĩa của mã.
Thay vì chỉ dựa vào đối sánh, một biện pháp phù hợp hơn đã được đề xuất: tính chính xác của chức năng. Điều này có nghĩa là mã do mô hình tạo ra phải vượt qua một tập hợp các bài kiểm tra đơn vị nhất định. Ý tưởng này phù hợp với các phương pháp mã hóa tiêu chuẩn, vì các nhà phát triển thường sử dụng các bài kiểm tra đơn vị để đánh giá hiệu quả và độ chính xác của mã của họ.
Số liệu này đánh giá không chỉ độ chính xác mà còn khả năng sử dụng chức năng của mã được tạo.
vượt qua@k số liệu được giới thiệu như một thước đo về tính đúng đắn của chức năng. Về cơ bản, điều đó có nghĩa là nếu bất kỳ mẫu mã nào trong số “k” được tạo vượt qua các bài kiểm tra đơn vị thì vấn đề được coi là đã giải quyết. Tuy nhiên, thay vì chỉ sử dụng điều này ở dạng trực tiếp, một công cụ ước tính không thiên vị được sử dụng để tính pass@k nhằm tránh phương sai cao.
Để đánh giá khả năng mã của ChatGPT, nghiên cứu đã sử dụng con người tập dữ liệu. Bộ dữ liệu này bao gồm các bài toán Python được viết tay, mỗi bài đi kèm với các bài kiểm tra đơn vị.
Do các rủi ro liên quan đến việc chạy mã không xác định hoặc không đáng tin cậy, môi trường hộp cát được thiết kế để kiểm tra mã được tạo một cách an toàn. Môi trường này được sử dụng gVisor để mô phỏng tài nguyên và tạo rào cản giữa hệ thống máy chủ và mã đang chạy. Do đó, ngay cả khi mô hình tạo ra mã độc, nó vẫn được chứa và không thể gây hại cho máy chủ hoặc mạng.
Sử dụng Trình thông dịch mã ChatGPT
ChatGPT của OpenAI đã trải qua nhiều lần phát triển, với Trình thông dịch mã nổi bật như một tính năng mang tính cách mạng trong mẫu GPT-4. Không giống như các giao diện trò chuyện truyền thống, Trình thông dịch mã cho phép người dùng tìm hiểu sâu hơn về các tác vụ tính toán, kết hợp liền mạch giữa các cuộc trò chuyện giữa con người và AI với các quy trình tính toán.
Về cốt lõi, Trình thông dịch mã giống như có một máy tính được nhúng trong chatbot. Tính năng động này cung cấp cho người dùng không gian đĩa tạm thời để tải lên rất nhiều định dạng tệp khác nhau, từ các loại phổ biến như TXT, PDF và JPEG đến các loại chuyên dụng hơn như CPP, PY và SQLite. Phạm vi hỗ trợ này khuếch đại tính linh hoạt của nó trong các tác vụ khác nhau, có thể là xử lý tài liệu hoặc thao tác hình ảnh.
Hoạt động trong một khuôn khổ mạnh mẽ và an toàn, Trình thông dịch mã được trang bị hơn 300 thư viện được cài đặt sẵn. Môi trường hộp cát này đảm bảo an ninh trong khi vẫn cung cấp sức mạnh tính toán đáng kể. Thật thú vị, khi được giao nhiệm vụ, nó tạo ra một tập lệnh Python trong thời gian thực để thực hiện yêu cầu của người dùng. Lấy ví dụ: chuyển đổi PDF dựa trên hình ảnh sang định dạng có thể tìm kiếm bằng OCR; tất cả những gì người dùng cần làm là tải tài liệu lên và ChatGPT sẽ xử lý phần còn lại.
Một điểm thú vị là giới hạn kích thước tệp tải lên. Mặc dù các thông số kỹ thuật chính xác vẫn chưa được công bố, nhưng các thử nghiệm của người dùng cho thấy hệ thống có thể xử lý hiệu quả các tệp lớn hơn 100 MB một cách đáng kể. Bất kể kích thước như thế nào, điều quan trọng cần lưu ý là các tệp này là tạm thời, sẽ bị loại bỏ sau khi phiên trò chuyện kết thúc.
Sự xuất sắc của Trình thông dịch mã không chỉ là sức mạnh kỹ thuật mà còn là khả năng truy cập của nó. OpenAI cung cấp tính năng này cho những người đăng ký ChatGPT Plus, đi kèm với mẫu GPT-4. Do đó, công cụ biến đổi này không chỉ dành cho giới thượng lưu công nghệ mà đang dần trở nên dễ tiếp cận đối với nhiều đối tượng hơn.
Sự khác biệt giữa mô hình ChatGPT tiêu chuẩn và Trình thông dịch mã nằm ở mô hình tương tác của chúng. Mặc dù cái trước chủ yếu tạo phản hồi bằng văn bản, nhưng cái sau hiểu và thực thi mã, đưa ra kết quả trực tiếp. Điều này không chỉ làm cho nó trở thành một tài sản quý giá cho các chuyên gia công nghệ mà còn trao quyền cho những người không có kiến thức về mã hóa để thực hiện các tác vụ tính toán phức tạp.
Các khả năng của Trình thông dịch mã ChatGPT có thể cách mạng hóa một số khía cạnh của Phát triển phần mềm và Khoa học dữ liệu:
- Tạo mã tự động: Đối với cả ứng dụng phần mềm và tập lệnh phân tích dữ liệu, được cung cấp mô tả cấp cao, hệ thống có thể tạo cấu trúc soạn sẵn hoặc đoạn mã phức tạp, đẩy nhanh quá trình phát triển và phân tích dữ liệu.
- Đánh giá mã và xác thực dữ liệu: Các công cụ dựa trên AI như ChatGPT có thể hỗ trợ nâng cao chất lượng và tính bảo mật của cơ sở mã phần mềm. Ngoài ra, trong lĩnh vực khoa học dữ liệu, những công cụ như vậy có thể là công cụ để xem xét và xác thực các tập lệnh chuyển đổi và xử lý dữ liệu, đảm bảo tính chính xác và hiệu quả.
- Hỗ trợ phân tích dữ liệu: Đối với các nhà khoa học dữ liệu, Trình thông dịch mã ChatGPT có thể giúp tạo mã để khám phá dữ liệu sơ bộ, trực quan hóa và thậm chí là kiểm tra thống kê cơ bản, do đó giúp giảm bớt quy trình phân tích dữ liệu.
Nếu bạn muốn tìm hiểu thêm về sự phức tạp của ChatGPT và kỹ thuật nhanh chóng, Unite AI cung cấp phân tích toàn diện trong 'ChatGPT: Kỹ thuật nhắc nhở nâng cao'.
Thiết lập Trình thông dịch mã ChatGPT
Tích hợp Trình thông dịch mã cho phép nền tảng diễn giải các truy vấn của người dùng, thực thi chúng dưới dạng mã Python và hiển thị kết quả ở định dạng trò chuyện tương tác. Để truy cập tính năng này, người dùng có thể điều hướng đến ChatGPT cài đặt, khám phá phần tính năng Beta và kích hoạt Trình thông dịch mã.
Điều làm nên sự khác biệt của nó là cơ chế minh bạch của nó. Khi người dùng nhắc một tác vụ, nền tảng sẽ tiết lộ từng bước của hành trình xử lý, cung cấp thông tin rõ ràng về cách diễn giải và thực thi các lệnh. Điều quan trọng là vì lý do riêng tư và bảo mật, Trình thông dịch mã hoạt động mà không cần bất kỳ kết nối internet nào.
Khám phá lợi ích của Trình thông dịch mã ChatGPT
Trực quan hóa dữ liệu & nghiên cứu
ChatGPT vượt xa phạm vi của các biểu đồ truyền thống, cung cấp cả biểu diễn đồ họa thông thường và sáng tạo. Điều này đảm bảo người dùng có thể xem dữ liệu của họ ở định dạng cung cấp thông tin chi tiết có ý nghĩa nhất.
Tuy nhiên, nó không chỉ là trực quan hóa dữ liệu thô. Mô hình ChatGPT rất giỏi trong việc xử lý và tinh chỉnh dữ liệu. Mặc dù mạnh mẽ, người dùng nên thận trọng.
Các nhà phân tích tài chính sẽ thấy khả năng phân tích và trực quan hóa tỷ giá chứng khoán của Trình thông dịch mã đặc biệt hữu ích. Thông qua tích hợp liền mạch, người dùng có thể tải lên các tập dữ liệu và trực quan hóa chúng ở nhiều định dạng khác nhau. Ý nghĩa của chức năng này là hiển nhiên khi các cá nhân có thể tiến hành phân tích dữ liệu phức tạp.
Video dưới đây minh họa cách trình thông dịch mã của ChatGPT tạo ra một TSLA phân tích chứng khoán.
Các nội dung chính:
- Cổ phiếu của Tesla đã phải đối mặt với sự biến động nhưng cũng cho thấy khả năng phục hồi với các giai đoạn tăng trưởng.
- Khối lượng giao dịch cao vào những ngày cụ thể cho thấy mức độ quan tâm hoặc phản ứng đáng kể của thị trường đối với các sự kiện quan trọng.
- Lợi nhuận từ đầu năm đến nay (YTD) giảm cho thấy các nhà đầu tư nên phân tích cả các yếu tố nội bộ của công ty và điều kiện thị trường bên ngoài khi xem xét các khoản đầu tư trong tương lai.
Triển khai thị giác máy tính và OCR
Nhận diện khuôn mặt, một chức năng thiết yếu trong thị giác máy tính, được tiếp cận bằng một kỹ thuật cổ điển: phân loại Haar Cascade từ OpenCV.
Hình ảnh dưới đây giới thiệu việc sử dụng bộ phân loại Haar Cascade cổ điển.
Quá trình trích xuất văn bản từ hình ảnh, được gọi là nhận dạng ký tự quang học (OCR), đã đạt được một cách liền mạch bằng cách sử dụng Tesseract, với văn bản sau đó được cấu trúc bởi GPT-4, nâng cao khả năng hiểu.
Trong video sau, hãy xem cách Tesseract (OCR) trích xuất văn bản từ hình ảnh chứng chỉ.
Trình thông dịch mã vượt trội trong lĩnh vực xử lý video, âm thanh và hình ảnh. Với các lệnh đơn giản, người dùng có thể đạt được các chỉnh sửa chi tiết, chẳng hạn như chuyển đổi GIF thành MP4 với các cải tiến cụ thể. Chỉ cần tải lên tệp của bạn, nhập các sửa đổi bạn muốn và xem điều kỳ diệu xảy ra.
Thư viện bên ngoài Python bên trong Trình thông dịch mã ChatGPT của bạn
Trình thông dịch mã ChatGPT là một nền tảng lập trình động được trang bị một bộ thư viện Python phong phú. Chúng bao gồm mọi thứ, từ trực quan hóa dữ liệu với Seaborn đến học máy nâng cao thông qua Torch. Nhưng nó không chỉ là một bộ công cụ tĩnh.
Lấy cảm hứng từ điều này trang chatgpt từ Korakot Chaovavanich.
Bắt đầu với mới nhất phát hành nltk, chúng tôi đã tải tệp .whl lên Trình thông dịch. Sau đó, chúng tôi đã hướng dẫn ChatGPT xác định vị trí thư mục gói trang web phù hợp bằng cách phân tích vị trí của gói hiện có. Bước tiếp theo liên quan đến việc giải nén tệp bánh xe đến một vị trí tạm thời và di chuyển các tệp vào thư mục gói trang đã xác định. Tuy nhiên, điều này gặp khó khăn.
Khi tìm kiếm một giải pháp thay thế, chúng tôi đã nhắc: “Vui lòng đảm bảo rằng NLTK được cài đặt trong môi trường Python và có thể truy cập được sau khi cài đặt.”
ChatGPT đã phản hồi và đưa ra giải pháp. Nó đề xuất thêm thư mục tạm thời vào sys.path, cho phép Python xác định và lấy các mô-đun từ gói nltk đã giải nén trong vị trí đó. Chiến thuật này đã làm việc kỳ diệu, dẫn đến việc cài đặt thành công NLTK.
Thông qua việc sử dụng các tệp .whl, quá trình cài đặt đã thể hiện sự pha trộn giữa sự khéo léo và khả năng thích ứng. Trình thông dịch mã ChatGPT, bất chấp những thách thức ban đầu, đã thể hiện tính linh hoạt và cam kết đáp ứng nhu cầu của người lập trình, đảm bảo cho cả người mới và người kỳ cựu về trải nghiệm mã hóa tinh tế.
Trong phần giới thiệu hấp dẫn về khả năng của trình thông dịch, một tweet gần đây của @DominikPeters đã nêu bật một minh chứng độc đáo. Peters đã yêu cầu GPT-4 tạo một bài kiểm tra về các quận ở Paris và mô hình này đã cung cấp một trang web hoạt động tốt. Bài kiểm tra làm việc có sẵn để trải nghiệm thực tế tại dominik-peters.de/gpt-arrondissement-quiz/.
Đã yêu cầu GPT-4 mã hóa cho tôi một bài kiểm tra của các quận ở Paris, nó hoạt động hiệu quả. https://t.co/Uhv7tPLspq pic.twitter.com/3agFZllEEQ
- Dominik Peters (@DominikPeters) 30 Tháng Tư, 2023
Tổng kết
Bước đột phá của OpenAI với Trình thông dịch mã ChatGPT không có gì khác ngoài sự chuyển đổi đối với những người lập trình cũng như những người không phải là lập trình viên. Tính linh hoạt của nó trong việc xử lý nhiều loại tác vụ—từ hỗ trợ các nhà phát triển gỡ lỗi đến giải các câu đố kiểu Paris một cách dễ dàng—là minh chứng cho tiềm năng vô hạn của AI trong việc nâng cao trải nghiệm kỹ thuật số của chúng ta. Đây là bản chất chắt lọc của quá trình lặn sâu của chúng tôi:
Hiểu công cụ của bạn: Giống như bạn kết bạn với một đồng nghiệp, hãy làm quen với Trình thông dịch mã. Nó được thiết kế dựa trên Codex, được tinh chỉnh từ GPT-4. Sự thành thạo của nó trải rộng trên nhiều ngôn ngữ lập trình, khiến nó trở thành người bạn đồng hành lý tưởng cho tất cả các cuộc phiêu lưu viết mã của bạn.
Nắm lấy cuộc cách mạng AI: Các phương pháp mã hóa truyền thống sắp chứng kiến một sự thay đổi lớn. Với các công cụ do AI điều khiển như Trình thông dịch mã ChatGPT, các tác vụ như xác định lỗi, tạo mã và thậm chí đánh giá mã có thể được thực hiện nhanh chóng.
Ngoài mã: Bước đột phá của Phiên dịch viên không bị giới hạn ở văn bản hoặc mã. Khả năng xử lý nhiều định dạng tệp, từ tệp TXT đơn giản đến tập lệnh PY phức tạp, nhấn mạnh tiện ích của nó trên nhiều miền khác nhau.
Không ngừng thử nghiệm: Quá trình khám phá của chúng tôi với việc cài đặt thư viện NLTK phản ánh tầm quan trọng của tính bền bỉ và khả năng thích ứng, những giá trị mà Trình thông dịch mã thể hiện. Nếu có một trở ngại, thường có một cách xung quanh nó.
Tham gia cuộc trò chuyện AI: Các ứng dụng trong thế giới thực, như được giới thiệu trong bài kiểm tra của các quận ở Paris, nhấn mạnh tiện ích to lớn trong thế giới thực của công cụ này. Nắm lấy nó, khám phá nó và để nó khuếch đại các dự án của bạn.
Video trên được thực hiện bằng cách sử dụng 2 tháng XNUMX và midjourney.
Tóm lại, Trình thông dịch mã ChatGPT không chỉ là một công cụ; nó đang thay đổi cách chúng ta kết nối với công nghệ. Đối với cả những người đổi mới và những người đam mê, nó hứa hẹn một thế giới mã hóa đầy tiềm năng.