1. Tổng quan
Lớp học này hướng dẫn chi tiết cách triển khai máy chủ ứng dụng LIT trên Google Cloud Platform (GCP) để tương tác với các mô hình nền tảng Gemini của Vertex AI và các mô hình ngôn ngữ lớn (LLM) do bên thứ ba tự lưu trữ. Tài liệu này cũng bao gồm hướng dẫn về cách sử dụng giao diện người dùng LIT để gỡ lỗi nhanh và diễn giải mô hình.
Khi tham gia lớp học này, người dùng sẽ tìm hiểu cách:
- Định cấu hình máy chủ LIT trên GCP.
- Kết nối máy chủ LIT với các mô hình Gemini của Vertex AI hoặc các LLM tự lưu trữ khác.
- Sử dụng giao diện người dùng LIT để phân tích, gỡ lỗi và diễn giải lời nhắc nhằm cải thiện hiệu suất và thông tin chi tiết về mô hình.
LIT là gì?
LIT là một công cụ trực quan, tương tác để hiểu mô hình, hỗ trợ văn bản, hình ảnh và dữ liệu dạng bảng. Bạn có thể chạy công cụ này dưới dạng máy chủ độc lập hoặc bên trong các môi trường sổ tay như Google Colab, Jupyter và Google Cloud Vertex AI. Bạn có thể tải LIT từ PyPI và GitHub.
Ban đầu, công cụ này được xây dựng để tìm hiểu các mô hình phân loại và hồi quy. Tuy nhiên, các bản cập nhật gần đây đã bổ sung các công cụ để gỡ lỗi lời nhắc LLM, cho phép bạn khám phá cách người dùng, mô hình và nội dung hệ thống ảnh hưởng đến hành vi tạo sinh.
Vertex AI và Model Garden là gì?
Vertex AI là một nền tảng học máy (ML) cho phép bạn huấn luyện và triển khai các mô hình học máy cũng như ứng dụng AI, đồng thời tuỳ chỉnh LLM để sử dụng trong các ứng dụng dựa trên AI. Vertex AI kết hợp quy trình kỹ thuật dữ liệu, khoa học dữ liệu và kỹ thuật học máy, cho phép các nhóm của bạn cộng tác bằng một bộ công cụ chung và mở rộng quy mô ứng dụng bằng các lợi ích của Google Cloud.
Vertex Model Garden là một thư viện mô hình học máy giúp bạn khám phá, kiểm thử, tuỳ chỉnh và triển khai các mô hình và thành phần của Google cũng như một số mô hình và thành phần của bên thứ ba.
Việc bạn sẽ làm
Bạn sẽ sử dụng Cloud Shell và Cloud Run của Google để triển khai vùng chứa Docker từ hình ảnh tạo sẵn của LIT.
Cloud Run là một nền tảng điện toán được quản lý, cho phép bạn chạy các vùng chứa ngay trên cơ sở hạ tầng có thể mở rộng của Google, bao gồm cả GPU.
Tập dữ liệu
Theo mặc định, bản minh hoạ sử dụng tập dữ liệu mẫu gỡ lỗi câu lệnh LIT hoặc bạn có thể tải tập dữ liệu của riêng mình thông qua giao diện người dùng.
Trước khi bắt đầu
Để sử dụng hướng dẫn tham khảo này, bạn cần có dự án Google Cloud. Bạn có thể tạo một dự án mới hoặc chọn một dự án mà bạn đã tạo.
2. Chạy Google Cloud Console và Cloud Shell
Bạn sẽ khởi chạy Google Cloud Console và sử dụng Google Cloud Shell trong bước này.
2-a: Chạy Google Cloud Console
Chạy một trình duyệt rồi truy cập vào Google Cloud Console.
Google Cloud Console là một giao diện quản trị web mạnh mẽ và an toàn, cho phép bạn quản lý nhanh các tài nguyên Google Cloud của mình. Đây là một công cụ DevOps di động.
2-b: Chạy Google Cloud Shell
Cloud Shell là một môi trường phát triển và vận hành trực tuyến mà bạn có thể truy cập ở bất cứ đâu bằng trình duyệt. Bạn có thể quản lý tài nguyên của mình bằng thiết bị đầu cuối trực tuyến được tải sẵn các tiện ích như công cụ dòng lệnh gcloud, kubectl và nhiều tiện ích khác. Bạn cũng có thể phát triển, tạo, gỡ lỗi và triển khai các Ứng dụng dựa trên đám mây bằng Trình chỉnh sửa Cloud Shell trực tuyến. Cloud Shell cung cấp một môi trường trực tuyến sẵn sàng cho nhà phát triển, với một bộ công cụ yêu thích được cài đặt sẵn và 5 GB dung lượng lưu trữ ổn định. Bạn sẽ sử dụng lời nhắc lệnh trong các bước tiếp theo.
Chạy Google Cloud Shell bằng biểu tượng ở phía trên bên phải của thanh trình đơn, được khoanh tròn màu xanh dương trong ảnh chụp màn hình sau.
Bạn sẽ thấy một thiết bị đầu cuối có một shell Bash ở cuối trang.
2-c: Đặt dự án trên Google Cloud
Bạn phải đặt mã dự án và khu vực dự án bằng lệnh gcloud
.
# Set your GCP Project ID.
gcloud config set project your-project-id
# Set your GCP Project Region.
gcloud config set run/region your-project-region
3. Triển khai Hình ảnh Docker của Máy chủ ứng dụng LIT bằng Cloud Run
3-a: Triển khai ứng dụng LIT lên Cloud Run
Trước tiên, bạn cần đặt phiên bản LIT-App mới nhất làm phiên bản cần triển khai.
# Set latest version as your LIT_SERVICE_TAG.
export LIT_SERVICE_TAG=latest
# List all the public LIT GCP App server docker images.
gcloud container images list-tags us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-lit-app
Sau khi đặt thẻ phiên bản, bạn cần đặt tên cho dịch vụ.
# Set your lit service name. While 'lit-app-service' is provided as a placeholder, you can customize the service name based on your preferences.
export LIT_SERVICE_NAME=lit-app-service
Sau đó, bạn có thể chạy lệnh sau để triển khai vùng chứa lên Cloud Run.
# Use below cmd to deploy the LIT App to Cloud Run.
gcloud run deploy $LIT_SERVICE_NAME \
--image us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-lit-app:$LIT_SERVICE_TAG \
--port 5432 \
--cpu 8 \
--memory 32Gi \
--no-cpu-throttling \
--no-allow-unauthenticated
LIT cũng cho phép bạn thêm tập dữ liệu khi khởi động máy chủ. Để làm việc đó, hãy đặt biến DATASETS
để bao gồm dữ liệu bạn muốn tải, sử dụng định dạng name:path
, ví dụ: data_foo:/bar/data_2024.jsonl
. Định dạng tập dữ liệu phải là .jsonl, trong đó mỗi bản ghi chứa prompt
và các trường target
và source
không bắt buộc. Để tải nhiều tập dữ liệu, hãy phân tách các tập dữ liệu đó bằng dấu phẩy. Nếu không được đặt, tập dữ liệu mẫu gỡ lỗi lời nhắc LIT sẽ được tải.
# Set the dataset.
export DATASETS=[DATASETS]
Bằng cách đặt MAX_EXAMPLES, bạn có thể đặt số lượng ví dụ tối đa để tải từ mỗi tập hợp đánh giá.
# Set the max examples.
export MAX_EXAMPLES=[MAX_EXAMPLES]
Sau đó, trong lệnh triển khai, bạn có thể thêm
--set-env-vars "DATASETS=$DATASETS" \
--set-env-vars "MAX_EXAMPLES=$MAX_EXAMPLES" \
3-b: Xem Dịch vụ ứng dụng LIT
Sau khi tạo máy chủ Ứng dụng LIT, bạn có thể tìm thấy dịch vụ này trong phần Cloud Run (Chạy trên đám mây) của Cloud Console.
Chọn dịch vụ Ứng dụng LIT mà bạn vừa tạo. Đảm bảo tên dịch vụ giống với LIT_SERVICE_NAME
.
Bạn có thể tìm thấy URL dịch vụ bằng cách nhấp vào dịch vụ bạn vừa triển khai.
Sau đó, bạn sẽ có thể xem giao diện người dùng LIT. Nếu bạn gặp lỗi, hãy xem phần Khắc phục sự cố.
Bạn có thể kiểm tra phần NHẬT KÝ để theo dõi hoạt động, xem thông báo lỗi và theo dõi tiến trình triển khai.
Bạn có thể kiểm tra phần CHỈ SỐ để xem các chỉ số của dịch vụ.
3-c: Tải tập dữ liệu
Nhấp vào tuỳ chọn Configure
trong giao diện người dùng LIT, chọn Dataset
. Tải tập dữ liệu bằng cách chỉ định tên và cung cấp URL của tập dữ liệu. Định dạng tập dữ liệu phải là .jsonl, trong đó mỗi bản ghi chứa prompt
và các trường target
và source
không bắt buộc.
4. Chuẩn bị mô hình Gemini trong Vertex AI Model Garden
Bạn có thể sử dụng các mô hình nền tảng Gemini của Google thông qua API Vertex AI. LIT cung cấp trình bao bọc mô hình VertexAIModelGarden
để sử dụng các mô hình này cho quá trình tạo. Bạn chỉ cần chỉ định phiên bản mong muốn (ví dụ: "gemini-1.5-pro-001") thông qua thông số tên mô hình. Một lợi thế chính của việc sử dụng các mô hình này là bạn không cần phải nỗ lực thêm để triển khai. Theo mặc định, bạn có quyền truy cập ngay vào các mô hình như Gemini 1.0 Pro và Gemini 1.5 Pro trên GCP, không cần thực hiện thêm các bước định cấu hình.
4-a: Cấp quyền cho Vertex AI
Để truy vấn Gemini trong GCP, bạn cần cấp quyền cho Vertex AI đối với tài khoản dịch vụ. Đảm bảo tên tài khoản dịch vụ là Default compute service account
. Sao chép email tài khoản dịch vụ của tài khoản.
Thêm email tài khoản dịch vụ làm chủ thể có vai trò Vertex AI User
trong danh sách cho phép IAM.
4-b: Tải mô hình Gemini
Bạn sẽ tải các mô hình Gemini và điều chỉnh các tham số của mô hình theo các bước dưới đây.
- Nhấp vào tuỳ chọn
Configure
trong giao diện người dùng LIT.
- Nhấp vào tuỳ chọn
- Chọn tuỳ chọn
gemini
trong tuỳ chọnSelect a base model
.
- Chọn tuỳ chọn
- Bạn cần đặt tên cho mô hình trong
new_name
.
- Bạn cần đặt tên cho mô hình trong
- Nhập các mô hình gemini đã chọn làm
model_name
.
- Nhập các mô hình gemini đã chọn làm
- Nhấp vào
Load Model
.
- Nhấp vào
- Nhấp vào
Submit
.
- Nhấp vào
5. Triển khai Máy chủ mô hình LLM tự lưu trữ trên GCP
Việc tự lưu trữ LLM bằng hình ảnh docker của máy chủ mô hình LIT cho phép bạn sử dụng các hàm nổi bật và tạo mã thông báo của LIT để hiểu rõ hơn về hành vi của mô hình. Hình ảnh máy chủ mô hình hoạt động với các mô hình KerasNLP hoặc Hugging Face Transformers, bao gồm cả các trọng số do thư viện cung cấp và tự lưu trữ, ví dụ: trên Google Cloud Storage.
5-a: Định cấu hình mô hình
Mỗi vùng chứa sẽ tải một mô hình, được định cấu hình bằng các biến môi trường.
Bạn nên chỉ định các mô hình cần tải bằng cách đặt MODEL_CONFIG. Định dạng phải là name:path
, ví dụ: model_foo:model_foo_path
. Đường dẫn có thể là URL, đường dẫn tệp cục bộ hoặc tên của một giá trị đặt trước cho khung Học sâu đã định cấu hình (xem bảng sau để biết thêm thông tin). Máy chủ này được kiểm thử bằng Gemma, GPT2, Llama và Mistral trên tất cả các giá trị DL_FRAMEWORK
được hỗ trợ. Các mô hình khác sẽ hoạt động, nhưng có thể cần điều chỉnh.
# Set models you want to load. While 'gemma2b is given as a placeholder, you can load your preferred model by following the instructions above.
export MODEL_CONFIG=gemma2b:gemma_2b_en
Ngoài ra, máy chủ mô hình LIT cho phép định cấu hình nhiều biến môi trường bằng lệnh bên dưới. Vui lòng tham khảo bảng để biết thông tin chi tiết. Xin lưu ý rằng bạn phải đặt riêng từng biến.
# Customize the variable value as needed.
export [VARIABLE]=[VALUE]
Biến | Giá trị | Mô tả |
DL_FRAMEWORK |
| Thư viện lập mô hình dùng để tải trọng số mô hình vào thời gian chạy đã chỉ định. Giá trị mặc định là |
DL_RUNTIME |
| Khung phụ trợ học sâu mà mô hình chạy trên đó. Tất cả mô hình do máy chủ này tải sẽ sử dụng cùng một phần phụ trợ, sự không tương thích sẽ dẫn đến lỗi. Giá trị mặc định là |
PRECISION |
| Độ chính xác dấu phẩy động cho các mô hình LLM. Giá trị mặc định là |
BATCH_SIZE | Số nguyên dương | Số lượng ví dụ cần xử lý cho mỗi lô. Giá trị mặc định là |
SEQUENCE_LENGTH | Số nguyên dương | Độ dài trình tự tối đa của câu lệnh đầu vào cộng với văn bản được tạo. Giá trị mặc định là |
5-b: Triển khai Máy chủ mô hình lên Cloud Run
Trước tiên, bạn cần đặt phiên bản mới nhất của Máy chủ mô hình làm phiên bản cần triển khai.
# Set latest as MODEL_VERSION_TAG.
export MODEL_VERSION_TAG=latest
# List all the public LIT GCP model server docker images.
gcloud container images list-tags us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-model-server
Sau khi đặt thẻ phiên bản, bạn cần đặt tên cho máy chủ mô hình.
# Set your Service name.
export MODEL_SERVICE_NAME='gemma2b-model-server'
Sau đó, bạn có thể chạy lệnh sau để triển khai vùng chứa lên Cloud Run. Nếu bạn không đặt biến môi trường, giá trị mặc định sẽ được áp dụng. Vì hầu hết các LLM đều yêu cầu tài nguyên điện toán đắt đỏ, nên bạn nên sử dụng GPU. Nếu chỉ muốn chạy trên CPU (hoạt động tốt cho các mô hình nhỏ như GPT2), bạn có thể xoá các đối số liên quan --gpu 1 --gpu-type nvidia-l4 --max-instances 7
.
# Deploy the model service container.
gcloud beta run deploy $MODEL_SERVICE_NAME \
--image us-east4-docker.pkg.dev/lit-demos/lit-app/gcp-model-server:$MODEL_VERSION_TAG \
--port 5432 \
--cpu 8 \
--memory 32Gi \
--no-cpu-throttling \
--gpu 1 \
--gpu-type nvidia-l4 \
--max-instances 7 \
--set-env-vars "MODEL_CONFIG=$MODEL_CONFIG" \
--no-allow-unauthenticated
Ngoài ra, bạn có thể tuỳ chỉnh các biến môi trường bằng cách thêm các lệnh sau. Chỉ bao gồm các biến môi trường cần thiết cho nhu cầu cụ thể của bạn.
--set-env-vars "DL_FRAMEWORK=$DL_FRAMEWORK" \
--set-env-vars "DL_RUNTIME=$DL_RUNTIME" \
--set-env-vars "PRECISION=$PRECISION" \
--set-env-vars "BATCH_SIZE=$BATCH_SIZE" \
--set-env-vars "SEQUENCE_LENGTH=$SEQUENCE_LENGTH" \
Bạn có thể cần thêm các biến môi trường để truy cập vào một số mô hình nhất định. Xem hướng dẫn của Kaggle Hub (dùng cho các mô hình KerasNLP) và Hugging Face Hub (dùng cho các mô hình KerasNLP) nếu thích hợp.
5-c: Truy cập vào máy chủ mô hình
Sau khi tạo máy chủ mô hình, bạn có thể tìm thấy dịch vụ đã bắt đầu trong phần Cloud Run của dự án GCP.
Chọn máy chủ mô hình mà bạn vừa tạo. Đảm bảo tên dịch vụ giống với MODEL_SERVICE_NAME
.
Bạn có thể tìm thấy URL dịch vụ bằng cách nhấp vào dịch vụ mô hình mà bạn vừa triển khai.
Bạn có thể kiểm tra phần NHẬT KÝ để theo dõi hoạt động, xem thông báo lỗi và theo dõi tiến trình triển khai.
Bạn có thể kiểm tra phần CHỈ SỐ để xem các chỉ số của dịch vụ.
5-d: Tải mô hình tự lưu trữ
Nếu bạn dùng proxy cho máy chủ LIT ở Bước 3 (xem phần Khắc phục sự cố), bạn cần lấy mã thông báo danh tính GCP bằng cách chạy lệnh sau.
# Find your GCP identity token.
gcloud auth print-identity-token
Bạn sẽ tải các mô hình tự lưu trữ và điều chỉnh các tham số của mô hình theo các bước bên dưới.
- Nhấp vào tuỳ chọn
Configure
trong giao diện người dùng LIT. - Chọn tuỳ chọn
LLM (self hosted)
trong tuỳ chọnSelect a base model
. - Bạn cần đặt tên cho mô hình trong
new_name
. - Nhập URL máy chủ mô hình làm
base_url
. - Nhập mã thông báo nhận dạng đã nhận được vào
identity_token
nếu bạn dùng proxy cho máy chủ Ứng dụng LIT (Xem Bước 3 và Bước 7). Nếu không, hãy để trống trường này. - Nhấp vào
Load Model
. - Nhấp vào
Submit
.
6. Tương tác với LIT trên GCP
LIT cung cấp một bộ tính năng phong phú để giúp bạn gỡ lỗi và hiểu rõ hành vi của mô hình. Bạn có thể thực hiện một thao tác đơn giản như truy vấn mô hình bằng cách nhập văn bản vào một hộp và xem kết quả dự đoán của mô hình, hoặc kiểm tra kỹ các mô hình bằng bộ tính năng mạnh mẽ của LIT, bao gồm:
6-a: Truy vấn mô hình thông qua LIT
LIT tự động truy vấn tập dữ liệu sau khi tải mô hình và tập dữ liệu. Bạn có thể xem phản hồi của từng mô hình bằng cách chọn phản hồi trong các cột.
6-b: Sử dụng kỹ thuật làm nổi bật trình tự
Hiện tại, kỹ thuật Điểm nổi bật của trình tự trên LIT chỉ hỗ trợ các mô hình tự lưu trữ.
Sequence Salience là một công cụ trực quan giúp gỡ lỗi các câu lệnh LLM bằng cách làm nổi bật những phần quan trọng nhất của một câu lệnh đối với một đầu ra nhất định. Để biết thêm thông tin về tính năng Điểm nổi bật của trình tự, hãy xem hướng dẫn đầy đủ để tìm hiểu thêm về cách sử dụng tính năng này.
Để truy cập vào kết quả về mức độ nổi bật, hãy nhấp vào bất kỳ dữ liệu đầu vào hoặc đầu ra nào trong câu lệnh hoặc câu trả lời, kết quả về mức độ nổi bật sẽ hiển thị.
6-c: Chỉnh sửa câu lệnh và mục tiêu theo cách thủ công
LIT cho phép bạn chỉnh sửa thủ công mọi prompt
và target
cho điểm dữ liệu hiện có. Khi bạn nhấp vào Add
, dữ liệu đầu vào mới sẽ được thêm vào tập dữ liệu.
6-d: So sánh lời nhắc cạnh nhau
LIT cho phép bạn so sánh câu lệnh cùng lúc trên các ví dụ gốc và đã chỉnh sửa. Bạn có thể chỉnh sửa một ví dụ theo cách thủ công và xem kết quả dự đoán cũng như kết quả phân tích Độ nổi bật của trình tự cho cả phiên bản gốc và phiên bản đã chỉnh sửa cùng một lúc. Bạn có thể sửa đổi câu lệnh cho mỗi điểm dữ liệu và LIT sẽ tạo câu trả lời tương ứng bằng cách truy vấn mô hình.
6-e: So sánh song song nhiều mô hình
LIT cho phép so sánh song song các mô hình trên các ví dụ về việc tạo văn bản và tính điểm riêng lẻ, cũng như trên các ví dụ tổng hợp cho các chỉ số cụ thể. Bằng cách truy vấn nhiều mô hình đã tải, bạn có thể dễ dàng so sánh sự khác biệt trong các phản hồi của các mô hình đó.
6-f: Trình tạo đối chứng tự động
Bạn có thể sử dụng trình tạo đối chứng tự động để tạo dữ liệu đầu vào thay thế và xem ngay cách mô hình của bạn hoạt động trên dữ liệu đó.
6-g: Đánh giá hiệu suất của mô hình
Bạn có thể đánh giá hiệu suất của mô hình bằng các chỉ số (hiện hỗ trợ điểm BLEU và ROUGE để tạo văn bản) trên toàn bộ tập dữ liệu hoặc bất kỳ tập hợp con nào của các ví dụ đã lọc hoặc đã chọn.
7. Khắc phục sự cố
7-a: Các vấn đề và giải pháp tiềm ẩn về quyền truy cập
Khi --no-allow-unauthenticated
được áp dụng khi triển khai lên Cloud Run, bạn có thể gặp phải các lỗi bị cấm như minh hoạ dưới đây.
Có hai cách để truy cập vào dịch vụ Ứng dụng LIT.
1. Proxy đến Dịch vụ cục bộ
Bạn có thể dùng lệnh bên dưới để proxy dịch vụ đến máy chủ cục bộ.
# Proxy the service to local host.
gcloud run services proxy $LIT_SERVICE_NAME
Sau đó, bạn có thể truy cập vào máy chủ LIT bằng cách nhấp vào đường liên kết dịch vụ được proxy.
2. Xác thực trực tiếp người dùng
Bạn có thể truy cập vào đường liên kết này để xác thực người dùng, cho phép truy cập trực tiếp vào dịch vụ Ứng dụng LIT. Phương pháp này cũng có thể cho phép một nhóm người dùng truy cập vào dịch vụ. Đối với quá trình phát triển liên quan đến việc cộng tác với nhiều người, đây là một lựa chọn hiệu quả hơn.
7-b: Kiểm tra để đảm bảo Máy chủ mô hình đã khởi chạy thành công
Để đảm bảo máy chủ mô hình đã khởi chạy thành công, bạn có thể truy vấn trực tiếp máy chủ mô hình bằng cách gửi yêu cầu. Máy chủ mô hình cung cấp 3 điểm cuối là predict
, tokenize
và salience
. Hãy nhớ cung cấp cả trường prompt
và trường target
trong yêu cầu của bạn.
# Query the model server predict endpoint.
curl -X POST http://YOUR_MODEL_SERVER_URL/predict -H "Content-Type: application/json" -d '{"inputs":[{"prompt":"[YOUR PROMPT]", "target":[YOUR TARGET]}]}'
# Query the model server tokenize endpoint.
curl -X POST http://YOUR_MODEL_SERVER_URL/tokenize -H "Content-Type: application/json" -d '{"inputs":[{"prompt":"[YOUR PROMPT]", "target":[YOUR TARGET]}]}'
# Query the model server salience endpoint.
curl -X POST http://YOUR_MODEL_SERVER_URL/salience -H "Content-Type: application/json" -d '{"inputs":[{"prompt":"[YOUR PROMPT]", "target":[YOUR TARGET]}]}'
Nếu bạn gặp vấn đề về quyền truy cập, hãy xem phần 7-a ở trên.
8. Xin chúc mừng
Chúc mừng bạn đã hoàn tất lớp học lập trình! Đã đến lúc thư giãn!
Dọn dẹp
Để dọn dẹp lớp học, hãy xoá tất cả Dịch vụ Google Cloud đã tạo cho lớp học. Sử dụng Google Cloud Shell để chạy các lệnh sau.
Nếu Mối kết nối Google Cloud bị mất do không hoạt động, hãy đặt lại các biến theo các bước trước.
# Delete the LIT App Service.
gcloud run services delete $LIT_SERVICE_NAME
Nếu đã khởi động máy chủ mô hình, bạn cũng cần xoá máy chủ mô hình.
# Delete the Model Service.
gcloud run services delete $MODEL_SERVICE_NAME
Tài liệu đọc thêm
Tiếp tục tìm hiểu các tính năng của công cụ LIT qua các tài liệu dưới đây:
- Gemma: Đường liên kết
- Cơ sở mã nguồn mở LIT: Kho lưu trữ Git
- Bài báo LIT: ArXiv
- Bài báo gỡ lỗi câu lệnh LIT: ArXiv
- Video minh hoạ tính năng LIT: YouTube
- Bản minh hoạ gỡ lỗi câu lệnh LIT: YouTube
- Bộ công cụ GenAI có trách nhiệm: Đường liên kết
Lượt liên hệ
Nếu bạn có câu hỏi hoặc vấn đề về lớp học lập trình này, vui lòng liên hệ với chúng tôi trên GitHub.
Giấy phép
Tác phẩm này được cấp phép theo Giấy phép chung Ghi công theo Creative Commons 4.0.