RAG 11 - 01 - 2025

Cải tiến Retriever bằng Hypothetical Document Embeddings HyDE

Hypothetical Document Embeddings (HyDE) là một phương pháp kết hợp giữa các mô hình ngôn ngữ lớn (LLM) và không gian biểu diễn dữ liệu (embedding). Thay vì chỉ dựa vào dữ liệu hiện có, HyDE tận dụng khả năng của LLM để tạo ra các tài liệu giả định (hypothetical documents). Các tài liệu này được thiết kế để tăng cường dữ liệu và cải thiện khả năng truy xuất thông tin.

RAG 11 - 01 - 2025

Hypothetical Question Retriever (HQR) trong RAG

Trong bài toán RAG, kỹ thuật Hypothetical Question Retriever (HQR) đã nổi lên như một giải pháp tiên tiến nhằm cải thiện khả năng tìm kiếm và sinh văn bản của các hệ thống AI. Bài viết này sẽ khám phá HQR, từ cơ chế hoạt động đến các ứng dụng tiềm năng trong thực tế.

RAG 31 - 12 - 2024

Bạn đã hiểu về tìm kiếm ngữ nghĩa Semantic Search chưa?

Với các truy vấn đơn giản, công cụ tìm kiếm thường dễ dàng tìm ra nội dung phù hợp chỉ bằng cách đối chiếu từ khóa. Ví dụ, khi bạn tìm kiếm “giày thể thao màu trắng,” hệ thống sẽ hiển thị các sản phẩm có từ “giày thể thao” trong tiêu đề hoặc mô tả, và màu trắng trong thuộc tính. Nếu bổ sung các từ đồng nghĩa như “màu ngà” hoặc “màu kem,” bạn có thể tìm được nhiều lựa chọn hơn (Hình 1). Nhưng khi truy vấn trở nên phức tạp hơn, bạn phải tự thêm các từ đồng nghĩa, và kết quả có thể bao gồm cả các loại giày khác như giày chạy bộ hoặc giày sneaker.   Hình 1. Nếu bổ sung các từ đồng nghĩa như “màu ngà” hoặc “màu kem,” bạn có thể tìm được nhiều lựa chọn hơn Chẳng hạn, việc tìm kiếm từ “túi laptop” hoặc thậm chí “túi cho máy tính xách tay” có thể không khó với tìm kiếm từ khóa, nhưng các truy vấn như “đồ dùng để mang máy tính khi đi học” hoặc “làm sao để bảo vệ laptop khi di chuyển?” sẽ được xử lý tốt hơn nhiều bởi tìm kiếm ngữ nghĩa (Hình 2). Hình 2. Nhiều mô tả ngữ nghĩa ám chỉ cùng một đối tượng Tìm kiếm ngữ nghĩa (Semantic Search) là một phương pháp nâng cao nhằm cải thiện độ chính xác trong việc truy xuất thông tin bằng cách hiểu ý định của người dùng (User Intent) và ý nghĩa ngữ cảnh (Context) của các từ ngữ trong truy vấn. Thay vì chỉ dựa vào sự trùng khớp từ khóa như các công cụ tìm kiếm truyền thống, tìm kiếm ngữ nghĩa tập trung vào việc giải mã mối quan hệ giữa các khái niệm và ý nghĩa thực sự mà người dùng muốn truyền tải. Mục tiêu cuối cùng của bất kỳ công cụ tìm kiếm nào là giúp người dùng hoàn thành nhiệm vụ của họ một cách hiệu quả, dù đó là đọc tin tức, mua sắm quần áo hay tìm kiếm tài liệu. Để làm được điều này, hệ thống cần phải hiểu được điều mà người dùng thực sự muốn – hay còn gọi là User Intent (ý định của người dùng).

Generative AI 19 - 12 - 2024

Hiểu về "Temperature" trong các mô hình ngôn ngữ lớn

Trong các mô hình ngôn ngữ lớn như GPT-3. 5 hoặc GPT-4, tham số "temperature" là một tham số quan trọng quyết định tính ngẫu nhiên của văn bản được sinh ra. Vậy temperature được sử dụng như thế nào và làm sao để điều chỉnh nó? Cùng tìm hiểu! Khi mô hình ngôn ngữ sinh văn bản, nó đánh giá mỗi từ trong từ vựng bằng một giá trị xác suất (logits). Các xác suất này sau đó được chuyển thành phân phối xác suất bằng hàm softmax, giúp mô hình lựa chọn từ tiếp theo. Temperature điều chỉnh cách phân phối này hoạt động: Temperature cao (>1): Phân phối xác suất trở nên phẳng hơn, cho phép mô hình lựa chọn những từ ít khả dĩ xảy ra. Kết quả là văn bản sáng tạo, nhưng cũng có nguy cơ không mạch lạc.   Hình 1: Kết quả khi temperature rất thấp đem lại văn bản mạch lạc, nhưng lắp lại.  Nguồn ảnh: https://blog. dailydoseofds. com/p/what-is-temperature-in-llms 

RAG 17 - 12 - 2024

Cơ sở dữ liệu Vector (Vector Database) là gì?

Cơ sở dữ liệu vector là hệ thống lưu trữ và quản lý dữ liệu dưới dạng vector – các dãy số biểu diễn dữ liệu phi cấu trúc như văn bản, hình ảnh, âm thanh và video. Mỗi vector là một biểu diễn toán học có thể nắm bắt thông tin ngữ nghĩa, nội dung hoặc đặc điểm của dữ liệu gốc. Trong thời đại AI và dữ liệu lớn, dữ liệu phi cấu trúc như hình ảnh, video, đoạn hội thoại hoặc âm thanh chiếm phần lớn thông tin trên Internet và trong đời sống. Tuy nhiên, dữ liệu này rất khó xử lý và tìm kiếm bằng các phương pháp truyền thống vì chúng không có cấu trúc rõ ràng. Chuyển đổi dữ liệu phi cấu trúc thành các vector số thông qua mô hình học máy như mạng nơ-ron hoặc các mô hình ngôn ngữ lớn (LLM). Dưới đây là quy trình phổ biến cho một cơ sở dữ liệu vector: Nguồn ảnh: Bài viết gốc. Truy vấn (Querying): Cơ sở dữ liệu vector so sánh vector truy vấn với các vector trong tập dữ liệu bằng cách sử dụng tìm kiếm tương đồng dựa trên một thước đo do người dùng xác định trước. Điều này giúp tìm ra các vector gần nhất với vector truy vấn, tối đa hóa độ tương đồng.

Blog kỹ thuật 11 - 11 - 2024

Parent-Child Retriever: Mô Hình Truy Xuất Thông Tin với Ngữ Cảnh Rộng hơn

Parent-Child Retriever là một phương pháp tiên tiến trong hệ thống Retrieval-Augmented Generation (RAG), còn được biết đến với tên Parent-Document-Retriever. Khác với các phương pháp cơ bản như Basic Retriever, Parent-Child Retriever không chỉ tập trung vào việc tìm kiếm những đoạn văn bản có nội dung tương đồng, mà còn mở rộng ngữ cảnh để cung cấp thêm thông tin bao quanh, giúp tạo ra các câu trả lời chính xác và toàn diện hơn. Trong Parent-Child Retriever, nội dung văn bản được chia thành các đoạn lớn hơn gọi là parent chunks và tiếp tục được chia nhỏ thành các đoạn con gọi là child chunks. Mỗi child chunk sẽ được chuyển đổi thành embedding, giúp hệ thống hiểu được ý nghĩa ngữ nghĩa của đoạn văn. Trong quá trình tìm kiếm, các child chunk này sẽ được so sánh với câu hỏi của người dùng để tìm ra những đoạn có ý nghĩa tương đồng nhất. Các parent chunk tương ứng của child chunk sẽ được sử dụng để cung cấp ngữ cảnh rộng hơn cho câu trả lời.   Chia tiếp các parent chunk thành child chunk: Mỗi parent chunk tiếp tục được chia nhỏ thành các child chunk để chuẩn bị cho việc tạo embedding.

RAG 08 - 11 - 2024

Baseline RAG: Tìm Hiểu Về Basic Retriever

  Để tạo ra một hệ thống RAG hiệu quả, tài liệu lớn nên được chia thành các đoạn nhỏ hơn trước khi tạo embedding. Embedding là một dạng biểu diễn ngữ nghĩa của văn bản, giúp hệ thống hiểu được ý nghĩa tổng quát của văn bản. Khi văn bản quá dài hoặc chứa nhiều chủ đề khác nhau, embedding của nó sẽ trở nên kém chính xác và không giữ được giá trị thông tin cốt lõi. Vì vậy, chia nhỏ tài liệu giúp embedding trở nên sắc nét và chính xác hơn, từ đó cải thiện hiệu quả truy xuất thông tin. Chia nhỏ tài liệu lớn: Trước tiên, cần phải chia tài liệu lớn thành các đoạn nhỏ hơn để chuẩn bị cho việc tạo embedding. Điều này giúp tối ưu hóa độ chính xác của embedding. Tạo embedding cho câu hỏi của người dùng: Khi người dùng đặt câu hỏi, câu hỏi đó sẽ được đưa vào hệ thống và chuyển thành embedding để so sánh với các đoạn embedding đã có.  

Bài Đọc Nhiều Nhất

Tổng hợp các mô hình CNN nổi tiếng - Phần 1
Tổng quan ROS cơ bản
Hướng dẫn cài đặt và thực hành Spring Boot (Phần 1)