Cơ bản
Giao ngay
Giao dịch tiền điện tử một cách tự do
Giao dịch ký quỹ
Tăng lợi nhuận của bạn với đòn bẩy
Chuyển đổi và Đầu tư định kỳ
0 Fees
Giao dịch bất kể khối lượng không mất phí không trượt giá
ETF
Sản phẩm ETF có thuộc tính đòn bẩy giao dịch giao ngay không cần vay không cháy tải khoản
Giao dịch trước giờ mở cửa
Giao dịch token mới trước niêm yết
Futures
Truy cập hàng trăm hợp đồng vĩnh cửu
TradFi
Vàng
Một nền tảng cho tài sản truyền thống
Quyền chọn
Hot
Giao dịch với các quyền chọn kiểu Châu Âu
Tài khoản hợp nhất
Tối đa hóa hiệu quả sử dụng vốn của bạn
Giao dịch demo
Giới thiệu về Giao dịch hợp đồng tương lai
Nắm vững kỹ năng giao dịch hợp đồng từ đầu
Sự kiện tương lai
Tham gia sự kiện để nhận phần thưởng
Giao dịch demo
Sử dụng tiền ảo để trải nghiệm giao dịch không rủi ro
Launch
CandyDrop
Sưu tập kẹo để kiếm airdrop
Launchpool
Thế chấp nhanh, kiếm token mới tiềm năng
HODLer Airdrop
Nắm giữ GT và nhận được airdrop lớn miễn phí
Launchpad
Đăng ký sớm dự án token lớn tiếp theo
Điểm Alpha
Giao dịch trên chuỗi và nhận airdrop
Điểm Futures
Kiếm điểm futures và nhận phần thưởng airdrop
Đầu tư
Simple Earn
Kiếm lãi từ các token nhàn rỗi
Đầu tư tự động
Đầu tư tự động một cách thường xuyên.
Sản phẩm tiền kép
Kiếm lợi nhuận từ biến động thị trường
Soft Staking
Kiếm phần thưởng với staking linh hoạt
Vay Crypto
0 Fees
Thế chấp một loại tiền điện tử để vay một loại khác
Trung tâm cho vay
Trung tâm cho vay một cửa
Mọi thứ bắt đầu từ một câu hỏi đơn giản: làm thế nào máy có thể hiểu được văn bản? Khi bạn huấn luyện mô hình phân biệt spam và tin nhắn bình thường hoặc xác định cảm xúc của đánh giá, có điều gì đó thú vị đang diễn ra bên trong. Mô hình phải biến đổi các chữ cái và từ thành số, vì mạng nơ-ron chỉ hoạt động với số.
Cách tiếp cận sơ khai đầu tiên - đơn giản là đánh số thứ tự cho từng từ duy nhất. Good = 6, bad = 26, awesome = 27. Trông có vẻ hợp lý, nhưng vấn đề là: các số 26 và 27 gần nhau, nên mô hình sẽ nghĩ rằng bad và awesome giống nhau. Trong thực tế, awesome và good lại mang ý nghĩa gần hơn. Đó chính là cái bẫy.
Chúng ta thử dùng One Hot Encoding - mỗi từ được biểu diễn bằng một vector có kích thước bằng toàn bộ từ điển, trong đó chỉ có một phần tử là 1 để chỉ ra từ cần thiết, phần còn lại là 0. Vấn đề xếp hạng biến mất, nhưng lại xuất hiện vấn đề mới: nếu từ điển có 20 nghìn từ, mỗi vector sẽ có 20 nghìn phần tử. Tài nguyên bộ nhớ tiêu tốn rất nhiều, và mô hình cũng không hiểu được ý nghĩa sâu xa của các từ.
Sau đó, người ta dùng Bag of Words và N-gram - đếm số lần từ xuất hiện trong văn bản. Thêm ngữ cảnh, nhưng lại gặp vấn đề là các vector thưa thớt lớn và mô hình không thể hiểu các mối liên hệ sâu giữa các từ. Nếu trong câu "The librarian loves books" mà từ librarian và book không đứng cạnh nhau, N-gram sẽ không bắt được mối liên hệ giữa chúng.
Đúng lúc này, mã hóa qua embedding trở thành cứu cánh. Ý tưởng là các từ có ý nghĩa tương tự nhau sẽ nằm gần nhau trong không gian vector. Hãy tưởng tượng một mặt phẳng hai chiều: trên một trục là kích thước của động vật, trên trục kia là mức độ nguy hiểm. Tiger và lion sẽ nằm gần nhau (lớn và nguy hiểm), còn hamster thì riêng biệt (nhỏ và an toàn). Đó chính là embedding - một vector đặc dày, lưu giữ ý nghĩa của từ trong không gian n chiều.
Điều tuyệt vời nhất là với các vector này, ta có thể thực hiện các phép tính toán học. Lấy vector của "con trai", trừ đi "đàn ông" rồi cộng "phụ nữ" - sẽ ra một vector gần với "con gái". Hoặc: Madrid + Đức - Tây Ban Nha = Berlin. Nó hoạt động vì mô hình nắm bắt được các mối quan hệ giữa các khái niệm.
Vậy, cách huấn luyện các embedding này như thế nào? Google đề xuất Word2Vec với hai phương pháp. Trong CBOW, bạn lấy các từ ngữ cảnh và dự đoán từ trung tâm. Skip-Gram thì ngược lại - từ từ trung tâm dự đoán các từ lân cận. Cả hai kỹ thuật đều hoạt động tốt để huấn luyện word embedding.
Trong các mô hình hiện đại như GPT hoặc BERT, mọi thứ có chút khác biệt. Lớp embedding không được lấy sẵn, mà được huấn luyện cùng với chính mô hình. Đầu tiên, văn bản được chia thành các token, sau đó một mạng nơ-ron đơn giản tạo ra embedding cho từng token. Các trọng số của lớp này là các tham số có thể huấn luyện, giúp mô hình biểu diễn các từ trong không gian phù hợp. Sau đó, các embedding này đi qua các khối decoder và đến lớp đầu ra, cung cấp xác suất cho token tiếp theo.
Một chi tiết nhỏ - mã hóa vị trí. Transformer xử lý tất cả token song song, khác với RNN. Vì vậy, cần phải cho mô hình biết thứ tự của các từ. Người ta lấy vector vị trí và cộng vào vector embedding. Kết quả là sự kết hợp: ý nghĩa của từ + thông tin về vị trí của nó trong văn bản.
Sau khi mã hóa vị trí, embedding đi vào cơ chế chú ý - đây chính là trái tim của các mô hình ngôn ngữ lớn. Embedding nắm bắt ý nghĩa của từng từ, nhưng ngữ cảnh được hiểu rõ qua attention. Vì vậy, từ "key" trong các ngữ cảnh khác nhau sẽ có các biểu diễn ngữ cảnh khác nhau.
Với cách kết hợp các ý tưởng đơn giản - tokenization, đếm từ, mã hóa đúng cách qua embedding - dần dần bạn sẽ đi đến transformer và ChatGPT. Các embedding hiện diện khắp nơi: trong hệ thống đề xuất, tìm kiếm hình ảnh tương tự, trong nền tảng của tất cả các LLM hiện đại. Nếu muốn hiểu rõ về NLP, bạn cần nắm vững cách hoạt động của CBOW, Skip-Gram và toàn bộ kiến trúc này. Đó chính là nền tảng bắt đầu.