Kỹ thuật prompt
Khám phá Trình Biên Dịch Mã ChatGPT Của OpenAI: Một Cuộc Khám Phá Sâu Về Khả Năng Của Nó

OpenAI đã đạt được những tiến bộ đáng kể trong lĩnh vực Xử lý Ngôn ngữ Tự nhiên (NLP) với sự ra đời của các Mô hình Ngôn ngữ Lớn (LLM), là nền tảng cho các sản phẩm được hàng triệu người sử dụng, bao gồm cả trợ lý mã 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, đã thiết lập các tiêu chuẩn chưa từng có trong các nhiệm vụ như tạo mã và văn bản.
Hiểu Trình Biên Dịch Mã ChatGPT
Để hiểu được tầm quan trọng của Trình Biên Dịch Mã ChatGPT, điều quan trọng là phải nắm được nó là gì và nó được xây dựng như thế nào.
Trình Biên Dịch Mã ChatGPT tận dụng khả năng của ChatGPT nhưng giới thiệu một khả năng nâng cao trong việc hiểu, giải thích và thậm chí tạo mã trên nhiều ngôn ngữ lập trình. Tính năng này biến ChatGPT từ một công cụ tạo văn bản thành một công cụ vô giá cho các nhà phát triển, hỗ trợ trong việc hiểu mã, gỡ lỗi và thậm chí tạo mã.
Đào tạo GPT cho Lập Trình: Phương Pháp Codex
Cả GitHub Copilot và Trình Biên Dịch Mã ChatGPT đều sử dụng Mô hình Codex được phát triển bởi OpenAI.
Codex, một mô hình ngôn ngữ GPT chuyên dụng, được thiết kế để có khả năng viết mã Python chuyên nghiệp. Được đào tạo trên mã nguồn công khai từ GitHub, Codex thể hiện tiềm năng của mình bằng cách cung cấp năng lực cho GitHub Copilot. Khi đánh giá khả năng tổng hợp chương trình từ docstrings, một thước đo về tính chính xác chức năng, Codex vượt trội so với cả GPT-3 và GPT-J.
Một quan sát đáng chú ý là việc lấy mẫu lặp lại tăng cường khả năng của Codex. Khi sử dụng lên đến 100 mẫu cho mỗi vấn đề, tỷ lệ thành công của mô hình tăng lên đến 70,2%. Hiệu quả như vậy gợi ý về khả năng sử dụng xếp hạng heuristic để chọn mẫu mã chính xác, mà không cần đánh giá đầy đủ cho mỗi 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 dựa chỉ trên docstrings. Độ chính xác của mã tạo ra sau đó được đo bằng các bài kiểm tra đơn vị. Trong một tập dữ liệu gồm 164 vấn đề lập trình gốc, bao gồm cả hiểu ngôn ngữ, thuật toán và kiểm tra toán học cơ bản, Codex với 12B tham số đã giải quyết 28,8% trong số đó chỉ trong một lần thử.
Bằng cách tinh chỉnh mô hình thêm thông qua việc huấn luyện các hàm độc lập được thực hiện đúng, hiệu quả của nó đã được tăng cường, dẫn đến Codex-S giải quyết 37,7% thách thức trong lần thử đầu tiên. Tuy nhiên, trong thực tế lập trình, một cách tiếp cận thử và sai là phổ biến. Nhái lại kịch bản thế giới thực này, mô hình Codex-S, khi được cho 100 cơ hội, đã giải quyết thành công 77,5% thách thức.
Mô hình tạo mã như ChatGPT thường được đánh giá bằng cách so sánh mẫu tạo với một giải pháp tham chiếu. So sánh này có thể là chính xác hoặc sử dụng một biện pháp tương tự như điểm BLEU. Tuy nhiên, những metrics dựa trên sự khớp này thường không nắm bắt được sự tinh tế của mã.
Thay vì chỉ dựa vào sự khớp, một biện pháp liên quan hơn đã được đề xuất: tính chính xác chức năng. Điều này có nghĩa là mã được tạo ra bởi mô hình nên vượt qua một tập hợp các bài kiểm tra đơn vị. Ý tưởng này phù hợp với các thực hành 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ị để đo lường hiệu quả và độ chính xác của mã.
Biện pháp pass@k được giới thiệu như một thước đo tính chính xác chức năng. Về cơ bản, nó có nghĩa là nếu bất kỳ một trong số “k” mẫu mã tạo ra vượt qua các bài kiểm tra đơn vị, vấn đề được coi là đã giải quyết. Tuy nhiên, thay vì sử dụng trực tiếp, một ước tính không thiên vị được sử dụng để tính toán pass@k để tránh phương sai cao.
Để đánh giá khả năng mã của ChatGPT, nghiên cứu sử dụng bộ dữ liệu HumanEval. Bộ dữ liệu này bao gồm các vấn đề Python viết tay, mỗi vấn đề đi kèm với các bài kiểm tra đơn vị.
Do 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ột môi trường sandbox được thiết kế để kiểm tra mã một cách an toàn. Môi trường này sử dụng gVisor để mô phỏng tài nguyên và tạo một rào cản giữa hệ thống chủ và mã đang chạy. Vì vậy, ngay cả khi mô hình tạo ra mã độc, nó vẫn bị cô lập và không thể gây hại cho hệ thống chủ hoặc mạng.
Sử Dụng Trình Biên Dịch Mã ChatGPT
ChatGPT của OpenAI đã trải qua nhiều sự tiến hóa, với Trình Biên Dịch Mã nổi bật như một tính năng cách mạng trong mô hình GPT-4. Không giống như các giao diện trò chuyện truyền thống, Trình Biên Dịch Mã cho phép người dùng深入 vào các nhiệm vụ tính toán, hòa trộn mượt mà giữa các cuộc trò chuyện của con người và AI với các quá trình tính toán.
Ở cốt lõi, Trình Biên Dịch Mã giống như có một máy tính được nhúng trong trò chuyện. 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 nhiều định dạng tệp, 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. Sự hỗ trợ rộng rãi này tăng cường tính linh hoạt của nó trên nhiều nhiệm vụ, từ xử lý tài liệu đến xử lý hình ảnh.
Hoạt động trong một khuôn khổ mạnh mẽ và bảo mật, Trình Biên Dịch Mã được trang bị hơn 300 thư viện đã cài đặt sẵn. Môi trường sandbox này đảm bảo an ninh trong khi vẫn cung cấp sức mạnh tính toán đáng kể. Điều thú vị là khi được yêu cầu, nó tạo ra một kịch bản Python trong thời gian thực để thực hiện yêu cầu của người dùng. Ví dụ, chuyển đổi một tệp PDF dựa trên hình ảnh thành đị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 lên tài liệu, và ChatGPT sẽ xử lý phần còn lại.
Điểm hấp dẫn là giới hạn kích thước tệp cho các lần tải lên. Mặc dù các thông số kỹ thuật cụ thể vẫn chưa được công bố, 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 100MB. Dù kích thước tệp là gì, điều quan trọng cần lưu ý là những tệp này là tạm thời, bị xóa sau khi phiên trò chuyện kết thúc.
Sự tuyệt vời của Trình Biên Dịch Mã không chỉ nằm ở khả năng kỹ thuật, mà còn ở sự tiếp cận của nó. OpenAI cung cấp tính năng này cho người đăng ký ChatGPT Plus, đi kèm với mô hình GPT-4. Vì vậy, công cụ chuyển đổi này không chỉ dành cho giới tinh hoa công nghệ mà đang dần trở nên tiếp cận được với một đối tượng rộng lớn hơn.
Sự khác biệt giữa mô hình ChatGPT tiêu chuẩn và Trình Biên Dịch Mã nằm ở các mô hình tương tác của chúng. Trong khi mô hình trước chủ yếu tạo ra các phản hồi văn bản, mô hình sau hiểu và thực thi mã, cung cấp 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 mã hóa để thực hiện các nhiệm vụ tính toán phức tạp.
Khả năng của Trình Biên Dịch Mã ChatGPT có thể cách mạng hóa nhiều 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à kịch bản phân tích dữ liệu, cho một mô tả cấp cao, hệ thống có thể tạo ra cấu trúc mã hoặc các đoạn mã phức tạp, tăng tốc 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ụ AI như ChatGPT có thể hỗ trợ trong việc nâng cao chất lượng và 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, các công cụ như vậy có thể là công cụ trong việc xem xét và xác thực các kịch bản xử lý và biến đổi dữ liệu, đảm bảo độ 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 Biên Dịch Mã ChatGPT có thể giúp tạo mã cho việc khám phá dữ liệu sơ bộ, trực quan hóa và thậm chí các kiểm tra thống kê cơ bản, làm cho quy trình phân tích dữ liệu trở nên dễ dàng hơn.
Nếu bạn quan tâm đến việc tìm hiểu thêm về các chi tiết của ChatGPT và kỹ thuật tạo yêu cầu, Unite AI cung cấp một phân tích toàn diện trong ‘ChatGPT: Kỹ Thuật Tạo Yêu Cầu Nâng Cao‘.
Cài Đặt Trình Biên Dịch Mã ChatGPT
Trình Biên Dịch Mã cho phép nền tảng giải thích 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ả trong đị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 và khám phá phần tính năng Beta, kích hoạt Trình Biên Dịch Mã.
Điều làm cho nó khác biệt là cơ chế minh bạch của nó. Khi người dùng yêu cầu một nhiệm vụ, nền tảng tiết lộ từng bước của quá trình xử lý, cung cấp sự rõ ràng về cách các lệnh được giải thích và thực thi. Quan trọng là, vì lý do bảo mật và quyền riêng tư, Trình Biên Dịch Mã hoạt động mà không cần kết nối internet.
Khám Phá Lợi Ích Của Trình Biên Dịch Mã ChatGPT
Trực Quan Hóa Dữ Liệu & Phân Tích
ChatGPT vượt ra ngoài 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 mình trong các định dạng cung cấp thông tin có ý nghĩa nhất.
Tuy nhiên, không chỉ là về việc trực quan hóa dữ liệu thô. Mô hình ChatGPT có khả năng 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ẽ tìm thấy khả năng của Trình Biên Dịch Mã trong việc phân tích và trực quan hóa tỷ giá chứng khoán đặ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 trong nhiều định dạng. Chức năng này có tầm quan trọng khi các cá nhân có thể thực hiện các phân tích dữ liệu phức tạp.
Video dưới đây thể hiện cách Trình Biên Dịch Mã ChatGPT tạo ra một phân tích chứng khoán TSLA toàn diện.
Điểm Chính:
- Chứng khoán của Tesla (TSLA ) đã đối mặt với sự biến động nhưng cũng cho thấy sự phục hồi với các giai đoạn tăng trưởng.
- Khối lượng giao dịch cao trên các ngày cụ thể cho thấy sự quan tâm hoặc phản ứng đáng kể của thị trường.
- Sự trở lại hàng năm (YTD) giảm cho thấy 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 khi xem xét đầu tư trong tương lai.
Triển Khai Thị Giác Máy Tính và OCR
Phát hiệ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 với một kỹ thuật cổ điển: bộ phân loại каскад Haar từ OpenCV.
Hình ảnh dưới đây thể hiện việc sử dụng bộ phân loại каскад Haar 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), đã được thực hiện một cách liền mạch bằng Tesseract, với văn bản sau đó được cấu trúc bởi GPT-4, tăng cường khả năng hiểu.
Trong video tiếp theo, xem cách Tesseract (OCR) trích xuất văn bản từ một hình ảnh chứng chỉ.
Trình Biên Dịch Mã excels trong lĩnh vực video, audio 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 mong muốn và xem điều kỳ diệu xảy ra.
Thư Viện Python Ngoại Vi Bên Trong Trình Biên Dịch Mã ChatGPT
Trình Biên Dịch Mã ChatGPT là một nền tảng lập trình động được trang bị một tập hợp rộng lớn các thư viện Python. Những thư viện này bao gồm mọi thứ từ trực quan hóa dữ liệu với Seaborn đến học máy tiên tiến thông qua Torch. Nhưng nó không chỉ là một công cụ tĩnh.
Được truyền cảm hứng từ trang Chatgpt từ Korakot Chaovavanich.
Bắt đầu với bản phát hành nltk mới nhất, chúng tôi đã tải lên một tệp .whl vào Interpreter. Sau đó, chúng tôi chỉ đạo ChatGPT tìm vị trí thư mục site-packages phù hợp bằng cách phân tích vị trí của một gói hiện có. Bước tiếp theo liên quan đến việc giải nén tệp wheel vào một vị trí tạm thời và di chuyển các tệp vào thư mục site-packages đã xác định. Tuy nhiên, điều này đã gặp phải một vấn đề.
Trong việc tìm kiếm một giải pháp, chúng tôi đã yêu cầu: “Hãy đảm bảo NLTK được cài đặt trong môi trường Python và có thể truy cập sau khi cài đặt.”
ChatGPT đã phản hồi, cung cấp một 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à kéo các mô-đun từ gói nltk đã giải nén trong vị trí đó. Chiến thuật này đã hoạt động tốt, dẫn đến việc cài đặt NLTK thành công.
Thông qua việc sử dụng các tệp .whl, quá trình cài đặt đã thể hiện sự kết hợp giữa sự thông minh và tính linh hoạt. Trình Biên Dịch Mã ChatGPT, mặc dù gặp phải những thách thức ban đầu, đã thể hiện sự đa năng và cam kết đáp ứng nhu cầu của các lập trình viên, đảm bảo cả người mới bắt đầu và người có kinh nghiệm đều có trải nghiệm lập trình được tinh chỉnh.
Trong một buổi trình diễn hấp dẫn về khả năng của trình biên dịch, một tweet gần đây của @DominikPeters đã nhấn mạnh một bản demo độc đáo. Peters đã yêu cầu GPT-4 tạo một cuộc thi về các arrondissement của Paris, và mô hình đã cung cấp một trang web hoạt động. Cuộc thi hoạt động có sẵn để trải nghiệm tại dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Kết Luận
Phát minh của OpenAI với Trình Biên Dịch Mã ChatGPT không gì khác hơn là một cuộc cách mạng cho cả lập trình viên và những người không phải lập trình viên. Sự đa năng của nó trong việc xử lý một loạt các nhiệm vụ – từ hỗ trợ nhà phát triển trong việc gỡ lỗi đến tạo ra các cuộc thi về Paris một cách dễ dàng – là một minh chứng cho tiềm năng không giới hạn của AI trong việc nâng cao trải nghiệm kỹ thuật số của chúng ta. Dưới đây là bản tóm tắt của cuộc khám phá sâu của chúng ta:
Hiểu Công Cụ Của Bạn: Giống như bạn làm quen với một đồng nghiệp, hãy làm quen với Trình Biên Dịch Mã. Nó được xây dựng trên Codex, được tinh chỉnh từ GPT-4. Khả năng của nó bao gồm nhiều ngôn ngữ lập trình, làm cho nó trở thành một người bạn đồng hành lý tưởng cho tất cả các cuộc phiêu lưu lập trình của bạn.
Chấp Nhận Cuộc Cách Mạng AI: Các thực hành lập trình truyền thống đang trên đà trải qua một sự thay đổi lớn. Với các công cụ AI như Trình Biên Dịch Mã ChatGPT, các nhiệm vụ như xác định lỗi, tạo mã và thậm chí xem xét mã có thể được đẩy nhanh.
Beyond Just Code: Sự tham gia của Trình Biên Dịch Mã không bị giới hạn ở văn bản hoặc mã. Khả năng của nó trong việc xử lý nhiều định dạng tệp, từ tệp TXT đơn giản đến các tập lệnh PY phức tạp, nhấn mạnh sự hữu ích của nó trên nhiều lĩnh vực.
Không Ngừng Thử Nghiệm: Cuộc 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 sự kiên nhẫn và tính linh hoạt, những giá trị mà Trình Biên Dịch Mã thể hiện. Nếu có một vấn đề, thường có một cách giải quyết.
Tham Gia Cuộc Trò Chuyện AI: Các ứng dụng thực tế, như được minh họa bởi cuộc thi về arrondissement của Paris, nhấn mạnh sự hữu ích thực tế của công cụ. Hãy chấp nhận nó, khám phá nó và để nó khuếch đại các dự án của bạn.
Video trên được tạo bằng Gen-2 và Midjourney.
Tóm lại, Trình Biên 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 đầy tiềm năng mã hóa.






















