Chuyển đến nội dung chính

Khám phá Text-Embedding-3-Large: Hướng dẫn toàn diện về Embeddings mới của OpenAI

Khám phá các mô hình text-embedding-3-large và -small của OpenAI trong hướng dẫn của chúng tôi để nâng cao các tác vụ NLP với embeddings AI tối tân dành cho nhà phát triển và nhà nghiên cứu.
· 13 phút đọc

Khám phá cùng AI

Bức tranh học máy và xử lý ngôn ngữ tự nhiên (NLP) không ngừng phát triển, với OpenAI liên tục dẫn dắt đổi mới.

Việc ra mắt các mô hình text-embedding-3-large và text-embedding-3-small đánh dấu một kỷ nguyên mới trong lĩnh vực này, hứa hẹn thay đổi cách nhà phát triển và người làm AI tiếp cận các tác vụ phân tích văn bản và nhúng (embedding).

Trong thế giới phức tạp của trí tuệ nhân tạo, embeddings đóng vai trò then chốt trong việc chuyển ngữ ngôn ngữ tự nhiên phức tạp của con người thành dạng mà máy có thể hiểu và xử lý. Mô hình mới của OpenAI thể hiện một bước tiến lớn đối với nhà phát triển và những người đang theo đuổi lĩnh vực dữ liệu.

Bài viết này nhằm giải thích về các mô hình text-embedding-3-large và text-embedding-3-small, cung cấp góc nhìn về chức năng cốt lõi, các ứng dụng khác nhau và cách sử dụng hiệu quả.

Bằng cách đi sâu vào những điều cơ bản của text embeddings và làm nổi bật các tính năng mới cùng cách dùng thực tiễn, bài viết cung cấp cho bạn thông tin cần thiết để ứng dụng công cụ tiên tiến này vào dự án của mình.

Ngoài ra, bài viết cũng đề cập đến cách bắt đầu với mô hình, chia sẻ mẹo cải thiện các tác vụ embedding, và bàn về tác động sâu rộng của tiến bộ công nghệ này đối với lĩnh vực NLP.

Hiểu về Text Embeddings

Trước khi đi vào chi tiết của mô hình mới, một phần tổng quan ngắn về text embeddings sẽ giúp bạn nắm bắt tốt hơn.

Text embeddings là các biểu diễn số của văn bản, phản ánh ngữ nghĩa hay ý nghĩa của từ, cụm từ, hoặc cả tài liệu. Chúng là nền tảng cho nhiều tác vụ NLP như phân tích cảm xúc, phân loại văn bản, và hơn thế nữa.

Phần giới thiệu về Text Embeddings với OpenAI API của chúng tôi cung cấp hướng dẫn đầy đủ về cách sử dụng OpenAI API để tạo text embeddings. Khám phá ứng dụng của chúng trong phân loại văn bản, truy xuất thông tin và phát hiện tương đồng ngữ nghĩa.

Dưới đây là một minh họa sử dụng mô hình embedding:

  • Các tài liệu cần biểu diễn ở bên trái
  • Mô hình embedding ở giữa, và
  • Các vector embedding tương ứng của từng tài liệu ở bên phải

Text embeddings illustration

Minh họa text embeddings

Nếu bạn mới làm quen với khái niệm này, hãy tham khảo khóa học Introduction to Embeddings with the OpenAI API của chúng tôi. Khóa học giải thích cách khai thác embeddings của OpenAI qua OpenAI API để tạo embeddings từ dữ liệu văn bản và bắt đầu xây dựng ứng dụng thực tế.

Tổng quan nhanh về Embeddings mới của OpenAI

Được công bố vào ngày 25 tháng 1 năm 2024, đây là các mô hình embedding mới nhất và mạnh mẽ nhất, được thiết kế để biểu diễn văn bản trong không gian nhiều chiều, giúp hiểu văn bản tốt hơn.

text-embedding-3-small được tối ưu cho độ trễ và lưu trữ. Ngược lại, text-embedding-3-large là lựa chọn tốt cho độ chính xác cao hơn, và chúng ta cũng có thể tận dụng tham số dimensions mới để giữ kích thước embedding ở 1536 thay vì kích thước gốc 3072 mà không ảnh hưởng đến hiệu năng tổng thể.

Phân tích benchmark

Trước khi phát hành, text-embedding-ada-2 đứng đầu bảng xếp hạng các mô hình embedding trước đây của OpenAI, và bảng dưới đây cung cấp cái nhìn nhanh về kết quả benchmark giữa ba mô hình này.

Model

Dimension

Max token

Knowledge cutoff

Pricing ($/1k tokens)

MIRACL average

MTEB average

ada v2

1536

8191

September 2021

0.0001

31.4

61.0

text-embedding-3-small

0.00002

44.0

62.3

text-embedding-3-large

3072

0.00013

54.9

64.6

Từ các chỉ số trên, có thể thấy hiệu năng được cải thiện từ ada v2 (text-embedding-ada-002) lên text-embedding-3-large trên cả hai bộ benchmark MIRACL và MTEB. Điều này cho thấy text-embedding-3-large, với số chiều lớn hơn (3072), mang lại chất lượng embedding tốt hơn so với hai mô hình còn lại, và điều đó liên hệ trực tiếp với điểm benchmark cao hơn.


Việc tăng số chiều từ text-embedding-ada-002 và text-embedding-3-small (đều 1536) lên text-embedding-3-large (3072) cho thấy một mô hình phức tạp hơn có thể bắt được tập đặc trưng phong phú hơn trong embeddings. Tuy nhiên, điều này cũng đi kèm chi phí cao hơn trên mỗi 1.000 token xử lý, cho thấy sự đánh đổi giữa hiệu năng và chi phí.


Tùy thuộc yêu cầu cụ thể của tác vụ (ví dụ: cần khả năng đa ngôn ngữ, độ phức tạp của văn bản cần embedding, hoặc giới hạn ngân sách), bạn có thể chọn mô hình khác nhau.

Với các tác vụ đòi hỏi chất lượng embedding cao trên nhiều ngôn ngữ và nhiệm vụ, text-embedding-3-large có thể là lựa chọn ưu tiên dù chi phí cao hơn. Ngược lại, với các ứng dụng bị ràng buộc ngân sách hoặc không cần độ chính xác cực cao, text-embedding-ada-002 hoặc text-embedding-3-small có thể phù hợp hơn.


Ứng dụng của Text-Embedding-3-Large

Công nghệ embedding đã mang lại lợi ích to lớn cho nhiều ứng dụng xử lý và hiểu ngôn ngữ tự nhiên hiện đại. Việc chọn giữa mô hình mạnh hơn như text-embedding-3-large và lựa chọn kinh tế như text-embedding-3-small có thể ảnh hưởng đến hiệu năng và hiệu quả chi phí của ứng dụng NLP.

Dưới đây là ba minh họa về các trường hợp sử dụng cho cả hai mô hình, thể hiện tính linh hoạt và tác động của chúng trong các kịch bản thực tế.

Ứng dụng của text-embedding-3-large

Applications of text-embedding-3-large (images generated using GPT-4)

Ứng dụng của text-embedding-3-large (hình ảnh tạo bằng GPT-4)

Tự động hóa hỗ trợ khách hàng đa ngôn ngữ

Với hiệu năng vượt trội trong việc hiểu và xử lý 18 ngôn ngữ khác nhau, text-embedding-3-large có thể vận hành chatbot hỗ trợ khách hàng và hệ thống phản hồi tự động cho các công ty toàn cầu, đảm bảo hỗ trợ chính xác, theo ngữ cảnh trên nhiều nền tảng ngôn ngữ.

Công cụ tìm kiếm ngữ nghĩa nâng cao

Tận dụng embeddings chiều cao, text-embedding-3-large có thể nâng cấp thuật toán tìm kiếm, giúp hiểu sắc thái truy vấn tốt hơn và truy xuất kết quả phù hợp theo ngữ cảnh, đặc biệt trong các lĩnh vực chuyên biệt như pháp lý hoặc nghiên cứu y khoa.

Hệ thống gợi ý nội dung xuyên ngôn ngữ

Với các nền tảng lưu trữ nhiều nội dung đa ngôn ngữ như dịch vụ streaming hoặc bộ tổng hợp tin tức, text-embedding-3-large có thể phân tích sở thích người dùng và nội dung ở nhiều ngôn ngữ, từ đó đề xuất nội dung phù hợp cao cho người dùng bất kể rào cản ngôn ngữ.

Ứng dụng của text-embedding-3-small

Applications of text-embedding-3-small (Image generated using GPT-4)

Ứng dụng của text-embedding-3-small (hình ảnh tạo bằng GPT-4)

Phân tích cảm xúc tiết kiệm chi phí

Đối với startup và doanh nghiệp vừa muốn hiểu cảm xúc khách hàng qua giám sát mạng xã hội hoặc phân tích phản hồi, text-embedding-3-small mang đến giải pháp hiệu quả về chi phí nhưng vẫn hữu dụng để đo lường dư luận và mức độ hài lòng.

Phân loại nội dung có thể mở rộng

Các nền tảng nội dung với dữ liệu khổng lồ như blog hoặc trang thương mại điện tử có thể dùng text-embedding-3-small để tự động phân loại nội dung hoặc sản phẩm. Tính hiệu quả và chi phí thấp khiến nó lý tưởng để xử lý tập dữ liệu lớn mà không làm giảm độ chính xác.

Công cụ học ngôn ngữ hiệu quả

Các ứng dụng giáo dục cần giải pháp có thể mở rộng và tiết kiệm chi phí để cung cấp bài tập học ngôn ngữ như ghép từ với nghĩa hoặc kiểm tra ngữ pháp có thể hưởng lợi từ text-embedding-3-small. Sự cân bằng giữa hiệu năng và chi phí hỗ trợ phát triển nội dung giáo dục tương tác tập trung vào ngôn ngữ.

Những ứng dụng này cho thấy cách triển khai tối ưu text-embedding-3-large và text-embedding-3-small trong nhiều lĩnh vực, phù hợp điểm mạnh của chúng với nhu cầu cụ thể của từng ứng dụng nhằm nâng cao hiệu năng, trải nghiệm người dùng và hiệu quả chi phí.

Hướng dẫn từng bước sử dụng Embeddings mới của OpenAI

Giờ đây chúng ta có đủ công cụ để triển khai text-embedding-3-large, text-embedding-3-small và ada-v2 trong kịch bản đo độ tương tự tài liệu.

Toàn bộ mã trong hướng dẫn này có sẵn trong một DataLab workbook. Hãy tạo một bản sao để chạy mã mà không cần cài đặt gì trên máy tính của bạn.

Về dữ liệu

  • Đây là bộ dữ liệu CORD-19, nguồn gồm hơn 59.000 bài báo học thuật, trong đó hơn 48.000 bài có toàn văn, về COVID-19, SARS-CoV-2 và các coronavirus liên quan.
  • Dữ liệu này được Nhà Trắng và liên minh các nhóm nghiên cứu hàng đầu cung cấp miễn phí nhằm hỗ trợ cộng đồng nghiên cứu toàn cầu tạo ra hiểu biết phục vụ cuộc chiến chống bệnh truyền nhiễm này.
  • Có thể tải từ trang này trên Kaggle.
  • Thông tin chi tiết thêm về bộ dữ liệu có thể được tìm thấy trên trang này.

Trước khi tiếp tục, điều quan trọng là cài đặt và nhập các thư viện sau để dự án thành công.

Sử dụng câu lệnh %%bash, chúng ta có thể cài đặt nhiều thư viện mà không cần dùng dấu chấm than (!).

%%bash
pip -q install tiktoken
pip -q install openai

Bây giờ, có thể import các thư viện như sau:

import os
import tiktoken
import numpy as np
import pandas as pd
from openai import OpenAI
from sklearn.metrics.pairwise import cosine_similarity

Hãy cùng hiểu vai trò của từng thư viện:

  • os: Cung cấp cách sử dụng các chức năng phụ thuộc hệ điều hành như đọc/ghi hệ thống tệp.
  • tiktoken: Xử lý các tác vụ tokenization dành riêng cho xử lý tài liệu khoa học.
  • numpy (np): Hỗ trợ mảng và ma trận đa chiều lớn, cùng bộ hàm toán học cấp cao phong phú để thao tác trên các mảng này, rất quan trọng cho tính toán khoa học.
  • pandas (pd): Cung cấp cấu trúc dữ liệu và thao tác với bảng số liệu và chuỗi thời gian, thiết yếu khi làm việc với tập dữ liệu khoa học.
  • openai.OpenAI: Là giao diện đến OpenAI API, cho phép tương tác với các mô hình máy học cho các tác vụ như tạo embeddings cho văn bản khoa học.
  • sklearn.metrics.pairwise.cosine_similarity: Tính độ tương đồng cosine giữa các vector, hữu ích trong phân tích độ tương tự tài liệu khoa học.

Khám phá dữ liệu

Dataframe gốc lớn hơn 1Gb, và chỉ nạp mẫu 1000 quan sát ngẫu nhiên để đơn giản hóa.

scientific_docs = pd.read_parquet("./data/cord19_df_sample.parquet")

Sử dụng hàm .head(), chúng ta có thể xem 2 dòng đầu của dữ liệu; kết quả như trong ảnh động bên dưới.

scientific_docs.head(2)

Hai dòng đầu tiên của dữ liệu

Phần thân bài, tiêu đề và tóm tắt của một tài liệu khoa học có thể đủ để đại diện cho tài liệu đó. Ba thuộc tính này được nối lại để tạo một biểu diễn văn bản duy nhất cho mỗi tài liệu.

Trước đó, hãy xem tỷ lệ giá trị khuyết trong từng cột này:

percent_missing = scientific_docs.isnull().sum() * 100 / len(scientific_docs)
percent_missing

Percentage of missing data in the  targeted columns

Tỷ lệ dữ liệu khuyết trong các cột mục tiêu

Từ hình trên, có thể thấy tiêu đề và phần tóm tắt có dữ liệu khuyết, lần lượt 10,5% và 12,4%. Do đó, cần điền các giá trị khuyết này bằng chuỗi rỗng trước khi nối để tránh mất mát thông tin.

Quy trình điền giá trị khuyết và nối cột được thực hiện bằng hàm sau.

def concatenate_columns_with_null_handling(df, body_text_column,
                                       	abstract_column,
                                       	title_column,
                                       	new_col_name):
    
	df[new_col_name] = df[body_text_column].fillna('') + df[abstract_column].fillna('') + df[title_column].fillna('')
    
	return df

Sau khi chạy hàm nối trên dữ liệu gốc và kiểm tra 3 dòng đầu, có thể thấy việc nối đã thành công.

new_scientific_docs = concatenate_columns_with_null_handling(scientific_docs,
                                                         	"body_text",
                                                         	"abstract",
                                                         	"title",
                                                         	"concatenated_text")
new_scientific_docs.head(3)

Cột mới được thêm là concatenated_text.

Ba dòng đầu với cột mới được thêm

Bước tiếp theo là áp dụng embeddings lên cột mới bằng các mô hình embedding đã nêu trong bài. Nhưng trước đó, hãy xem phân bố độ dài token.

Mục tiêu của phân tích này là kiểm tra giới hạn token tối đa của mô hình so với số lượng token thực tế trong mỗi tài liệu.

Trước hết, chúng ta cần đếm tổng số token trong mỗi tài liệu, được thực hiện bằng hàm trợ giúp num_tokens_from_text và bộ mã hóa cl100k_base.

def num_tokens_from_text(text: str, encoding_name="cl100k_base"):
    	"""
    	Returns the number of tokens in a text string.
    	"""
    	encoding = tiktoken.get_encoding(encoding_name)
    	num_tokens = len(encoding.encode(text))
    	return num_tokens

Trước khi áp dụng hàm cho toàn bộ tập dữ liệu, hãy xem nó hoạt động với văn bản sau: This article is about new OpenAI Embeddings.

text = "This article is about new OpenAI Embeddings"
num_tokens = num_tokens_from_text(text)
print(f"Number of tokens: {num_tokens}")

Sau khi chạy thành công đoạn mã trên, có thể thấy văn bản có 10 token.

Number of tokens in the text

Số lượng token trong văn bản

Với sự tự tin này, chúng ta có thể áp dụng hàm cho toàn bộ văn bản trong dataframe bằng biểu thức lambda như sau:

new_scientific_docs['num_tokens'] = new_scientific_docs["concatenated_text"].apply(lambda x: num_tokens_from_text(x))

Chúng ta có thể đếm tổng số tài liệu có hơn 8191 token bằng cách lọc số lượng token và kiểm tra số nào vượt quá giới hạn 8191 token.

smaller_tokens_docs = new_scientific_docs[new_scientific_docs['num_tokens'] <= 8191]
len(smaller_tokens_docs)

⇒ Kết quả: 764

Điều này có nghĩa 764 tài liệu trong số 1000 đáp ứng yêu cầu về giới hạn token tối đa, và chúng ta sử dụng các tài liệu này để đơn giản hóa.

Có thể áp dụng các kỹ thuật nâng cao để xử lý tập tài liệu còn lại có hơn 8191 token.

Một kỹ thuật là lấy trung bình tất cả embeddings của một tài liệu. Kỹ thuật khác là lấy 8191 token đầu của tài liệu. Cách tiếp cận sau không hiệu quả vì có thể gây mất thông tin.

Hãy đảm bảo reset lại chỉ mục của dataframe để bắt đầu từ 0.

smaller_tokens_docs_reset = smaller_tokens_docs.reset_index(drop=True)

Thực thi embeddings

Tất cả yêu cầu đã sẵn sàng để lấy biểu diễn embedding của mọi tài liệu, và điều này được thực hiện cho từng mô hình embedding.

Bước đầu tiên là lấy thông tin xác thực OpenAI và cấu hình client như sau:

os.environ["OPENAI_API_KEY"] = "YOUR KEY"
client = OpenAI()

Sau đó, hàm trợ giúp sau hỗ trợ tạo embedding bằng cách cung cấp mô hình embedding và văn bản cần nhúng.

def get_embedding(text_to_embbed, model_ID):
    
	text = text_to_embbed.replace("\n", " ")
	return client.embeddings.create(input = [text_to_embbed],
                                	model=model_ID).data[0].embedding

Một dataframe mới hiện được tạo với ba cột bổ sung tương ứng với embedding của từng mô hình:

  • text-embedding-3-small
  • text-embedding-3-large
  • text-embedding-ada-002
smaller_tokens_docs_reset['text-embedding-3-small'] = smaller_tokens_docs_reset["concatenated_text"].apply(lambda x: get_embedding(x, "text-embedding-3-small"))

smaller_tokens_docs_reset['text-embedding-3-large'] = smaller_tokens_docs_reset["concatenated_text"].apply(lambda x: get_embedding(x, "text-embedding-3-large"))

smaller_tokens_docs_reset['text-embedding-ada-002'] = smaller_tokens_docs_reset["concatenated_text"].apply(lambda x: get_embedding(x, "text-embedding-ada-002"))

Sau khi chạy thành công đoạn mã trên, có thể thấy các cột embedding tương ứng đã được thêm.

smaller_tokens_docs_reset.head(1)

image4.gif

Dataframe mới với các cột embedding liên quan

Tìm kiếm tương đồng

Phần này sử dụng kỹ thuật cosine similarity cho từng phương pháp embedding ở trên để tìm 3 tài liệu giống nhất với tài liệu cụ thể.

Hàm trợ giúp sau nhận bốn tham số chính:

  • Dataframe hiện tại
  • Chỉ số của văn bản mà chúng ta muốn tìm tài liệu tương tự nhất
  • Cột embedding cụ thể sẽ dùng
  • Số lượng tài liệu tương tự nhất cần lấy, mặc định là 3.
def find_top_N_similar_documents(df, chosen_index,
                             	embedding_column_name,
                             	top_N=3):
    
	chosen_document_embedding = np.array(df.iloc[chosen_index][embedding_column_name]).reshape(1, -1)
	embedding_matrix = np.vstack(df[embedding_column_name])
	similarity_scores = cosine_similarity(chosen_document_embedding, embedding_matrix)[0]
    
	df_temp = df.copy()
	df_temp['similarity_to_chosen'] = similarity_scores
	similar_documents = df_temp.drop(index=chosen_index).sort_values(by='similarity_to_chosen', ascending=False)
	top_N_similar = similar_documents.head(top_N)
    
	return top_N_similar[[concatenated_text, 'similarity_to_chosen']]

Trong phần tiếp theo, chúng ta sẽ tìm các tài liệu giống nhất với tài liệu đầu tiên (index=0)

Đây là nội dung tài liệu đầu tiên:

chosen_index = 0

first_document_data = smaller_tokens_docs_reset.iloc[0]["concatenated_text"]
print(first_document_data)

image5.gif

Nội dung tài liệu đầu tiên (phiên bản đã nối)

Hàm tìm kiếm tương đồng có thể chạy như sau:

top_3_similar_3_small = find_top_N_similar_documents(smaller_tokens_docs_reset,
                                                 	chosen_index,
                                                 	"text-embedding-3-small")

top_3_similar_3_large= find_top_N_similar_documents(smaller_tokens_docs_reset,
                                                 	chosen_index,
                                                 	"text-embedding-3-large")

top_3_similar_ada_002 = find_top_N_similar_documents(smaller_tokens_docs_reset,
                                                 	chosen_index,
                                                 	"text-embedding-ada-002")

Sau khi xử lý các tác vụ tương đồng, có thể hiển thị kết quả như sau:

print("Top 3 Similar Documents with :")
print("--> text-embedding-3-small")
print(top_3_similar_3_small)
print("\n")

print("--> text-embedding-3-large")
print(top_3_similar_3_large)
print("\n")

print("--> text-embedding-ada-002")
print(top_3_similar_ada_002)
print("\n")

Top 3 most similar documents using each embedding model

Ba tài liệu tương tự nhất theo từng mô hình embedding

Quan sát kết quả

Mô hình "text-embedding-3-small" cho điểm tương đồng ở mức trung bình khoảng 0,54, trong khi "text-embedding-3-large" có điểm cao hơn một chút, cho thấy khả năng nắm bắt tương đồng tốt hơn.

Mô hình "text-embedding-ada-002" cho điểm tương đồng cao hơn đáng kể, với điểm cao nhất gần 0,85, gợi ý mức độ tương đồng rất mạnh với tài liệu đã chọn.

Tuy nhiên, Tài liệu 372 là kết quả đứng đầu chung cho tất cả mô hình, cho thấy mức độ liên quan ổn định với truy vấn. Sự khác biệt điểm số giữa các mô hình nhấn mạnh tác động của việc lựa chọn mô hình embedding đối với kết quả tương đồng.

Kết luận

Tóm lại, các mô hình text-embedding-3-large và text-embedding-3-small mới của OpenAI đại diện cho một bước nhảy vọt trong lĩnh vực xử lý ngôn ngữ tự nhiên, cung cấp biểu diễn văn bản tinh vi và đa chiều hơn.

Như đã minh họa trong bài, việc lựa chọn giữa các mô hình này có thể ảnh hưởng đáng kể đến kết quả của nhiều tác vụ NLP như đo độ tương tự tài liệu, phân tích cảm xúc và hệ thống hỗ trợ đa ngôn ngữ. Trong khi text-embedding-3-large mang lại độ chính xác cao hơn nhờ số chiều tăng, text-embedding-3-small cung cấp sự cân bằng giữa hiệu quả và hiệu năng cho các ứng dụng nhạy cảm về chi phí.

Phân tích benchmark cho thấy text-embedding-3-large vượt trội so với các thế hệ trước, đặt ra tiêu chuẩn mới trong lĩnh vực. Ứng dụng thực tế của các mô hình này rất rộng, từ nâng cao hỗ trợ khách hàng đến vận hành công cụ tìm kiếm tinh vi và hệ thống gợi ý nội dung.

Thông qua hướng dẫn chi tiết đã cung cấp, các nhà thực hành có thể đưa ra quyết định sáng suốt về mô hình cần dùng dựa trên độ phức tạp của tác vụ, giới hạn ngân sách và nhu cầu đa ngôn ngữ.

Cuối cùng, lựa chọn mô hình nên phù hợp với yêu cầu cụ thể của dự án, tận dụng điểm mạnh của text-embedding-3-large cho các tác vụ cần độ trung thực cao và text-embedding-3-small cho mục đích tổng quát hơn. Sự xuất hiện của các mô hình này nhấn mạnh cam kết của OpenAI trong việc thúc đẩy công nghệ AI và sự tiến hóa liên tục của các công cụ học máy.

Tiếp theo nên làm gì?

Bài viết The OpenAI API in Python của chúng tôi là một cheat sheet giúp bạn nắm những điều cơ bản về cách khai thác một trong các API AI mạnh nhất hiện có, tức OpenAI API.

Phiên code along Fine-tuning GPT3.5 with OpenAI API cung cấp hướng dẫn sử dụng OpenAI API và Python để bắt đầu tinh chỉnh GPT3.5, giúp bạn biết khi nào việc tinh chỉnh các mô hình ngôn ngữ lớn là có lợi, cách dùng công cụ fine-tuning trong OpenAI API và cuối cùng hiểu quy trình tinh chỉnh.

Zoumana Keita

Tác giả

Zoumana Keita

Nhà khoa học dữ liệu đa tài, yêu thích chia sẻ kiến thức và đóng góp cho cộng đồng, Zoumana là người sáng tạo nội dung trên YouTube và là cây bút công nghệ hàng đầu trên Medium. Anh yêu thích thuyết trình, lập trình và giảng dạy. Zoumana có hai bằng thạc sĩ: một về khoa học máy tính chuyên sâu Học máy tại Paris, Pháp, và một về Khoa học dữ liệu tại Texas Tech University, Hoa Kỳ. Anh bắt đầu sự nghiệp với vai trò Nhà phát triển phần mềm tại Groupe OPEN ở Pháp, sau đó chuyển sang IBM làm Tư vấn Học máy, nơi anh phát triển các giải pháp AI đầu-cuối cho các công ty bảo hiểm. Zoumana gia nhập Axionable, startup Trí tuệ nhân tạo Bền vững đầu tiên có trụ sở tại Paris và Montreal. Tại đây, anh làm Nhà khoa học dữ liệu và triển khai các sản phẩm AI, chủ yếu là các bài toán NLP, cho khách hàng tại Pháp, Montreal, Singapore và Thụy Sĩ. Ngoài ra, 5% thời gian của anh được dành cho Nghiên cứu và Phát triển. Hiện tại, anh làm việc với vai trò Nhà khoa học dữ liệu cao cấp tại IFC - Nhóm Ngân hàng Thế giới.

Chủ đề

Liên quan