Tính khả thi

Trong giai đoạn lên ý tưởng và lập kế hoạch, bạn sẽ tìm hiểu các thành phần của một giải pháp học máy. Trong nhiệm vụ xác định vấn đề, bạn sẽ xác định vấn đề theo giải pháp học máy. Khoá học Giới thiệu về cách xác định vấn đề trong học máy trình bày chi tiết các bước đó. Trong nhiệm vụ lập kế hoạch, bạn sẽ ước tính tính khả thi của một giải pháp, lập kế hoạch tiếp cận và đặt các chỉ số thành công.

Mặc dù học máy có thể là một giải pháp tốt trên lý thuyết, nhưng bạn vẫn cần ước tính tính khả thi của giải pháp này trong thực tế. Ví dụ: một giải pháp có thể hoạt động về mặt kỹ thuật nhưng không thực tế hoặc không thể triển khai. Các yếu tố sau ảnh hưởng đến tính khả thi của một dự án:

  • Phạm vi cung cấp dữ liệu
  • Độ khó của vấn đề
  • Chất lượng dự đoán
  • Yêu cầu về kỹ thuật
  • Chi phí

Phạm vi cung cấp dữ liệu

Mô hình học máy chỉ hoạt động hiệu quả khi được huấn luyện dựa trên dữ liệu chất lượng. Chúng cần nhiều dữ liệu chất lượng cao để đưa ra dự đoán chất lượng cao. Việc trả lời các câu hỏi sau có thể giúp bạn đánh giá xem bạn có dữ liệu cần thiết để huấn luyện một mô hình hay không:

  • Số lượng. Bạn có thể thu thập đủ dữ liệu chất lượng cao để huấn luyện một mô hình không? Có phải các ví dụ được gắn nhãn khan hiếm, khó lấy hoặc quá đắt không? Ví dụ: việc lấy hình ảnh y tế được gắn nhãn hoặc bản dịch của các ngôn ngữ hiếm gặp là rất khó. Để đưa ra dự đoán chính xác, các mô hình phân loại cần có nhiều ví dụ cho mỗi nhãn. Nếu tập dữ liệu huấn luyện chứa ít ví dụ cho một số nhãn, thì mô hình sẽ không thể đưa ra dự đoán chính xác.

  • Phạm vi cung cấp tính năng tại thời điểm phân phát. Tất cả các tính năng được dùng trong quá trình huấn luyện có sẵn tại thời điểm phân phát không? Các nhóm đã dành nhiều thời gian để huấn luyện các mô hình chỉ để nhận ra rằng một số tính năng không có sẵn cho đến vài ngày sau khi mô hình yêu cầu các tính năng đó.

    Ví dụ: giả sử một mô hình dự đoán liệu khách hàng có nhấp vào một URL hay không và một trong các tính năng được dùng trong quá trình huấn luyện bao gồm user_age. Tuy nhiên, khi mô hình đưa ra một dự đoán, user_age sẽ không có sẵn, có thể là do người dùng chưa tạo tài khoản.

  • Quy định. Đâu là các quy định và yêu cầu pháp lý để thu thập và sử dụng dữ liệu? Ví dụ: một số yêu cầu đặt ra giới hạn về việc lưu trữ và sử dụng một số loại dữ liệu nhất định.

AI tạo sinh

Các mô hình AI tạo sinh được huấn luyện trước thường yêu cầu các tập dữ liệu được tuyển chọn để thực hiện xuất sắc các nhiệm vụ dành riêng cho từng lĩnh vực. Bạn có thể cần tập dữ liệu cho các trường hợp sử dụng sau:

  • Kỹ thuật tạo câu lệnh, điều chỉnh hiệu quả tham số điều chỉnh chi tiết. Tuỳ thuộc vào trường hợp sử dụng, bạn có thể cần từ 10 đến 10.000 ví dụ chất lượng cao để tinh chỉnh thêm đầu ra của mô hình. Ví dụ: nếu một mô hình cần được tinh chỉnh để thực hiện xuất sắc một nhiệm vụ cụ thể, chẳng hạn như trả lời các câu hỏi về y tế, thì bạn sẽ cần một tập dữ liệu chất lượng cao, đại diện cho các loại câu hỏi mà mô hình sẽ được hỏi cùng với các loại câu trả lời mà mô hình nên trả lời.

    Bảng sau đây cung cấp thông tin ước tính về số lượng ví dụ cần thiết để tinh chỉnh đầu ra của một mô hình AI tạo sinh cho một kỹ thuật nhất định:

  • Kỹ thuật Số lượng ví dụ bắt buộc
    Đặt câu lệnh không kèm ví dụ 0
    Đặt câu lệnh dựa trên một vài ví dụ ~10 giây – 100 giây
    Điều chỉnh hiệu quả tham số 1 ~100 đến 10.000
    Tinh chỉnh Khoảng 1.000 đến 10.000 (hoặc nhiều hơn)
    1 Thích ứng thứ hạng thấp (LoRA) và điều chỉnh câu lệnh.
  • Thông tin mới nhất. Sau khi được huấn luyện trước, các mô hình AI tạo sinh sẽ có một cơ sở kiến thức cố định. Nếu nội dung trong miền của mô hình thường xuyên thay đổi, bạn sẽ cần một chiến lược để cập nhật mô hình, chẳng hạn như:

Độ khó của vấn đề

Rất khó ước tính độ khó của một vấn đề. Những gì ban đầu có vẻ là một cách tiếp cận hợp lý có thể thực sự trở thành một câu hỏi nghiên cứu mở; những gì có vẻ thiết thực và khả thi có thể trở thành không thực tế hoặc không hiệu quả. Việc trả lời các câu hỏi sau có thể giúp bạn đánh giá mức độ khó của một vấn đề:

  • Đã có vấn đề tương tự được giải quyết chưa? Ví dụ: các nhóm trong tổ chức của bạn có sử dụng dữ liệu tương tự (hoặc giống hệt) để xây dựng mô hình không? Có người hoặc nhóm nào bên ngoài tổ chức của bạn đã giải quyết các vấn đề tương tự, chẳng hạn như tại Kaggle hoặc TensorFlow Hub không? Nếu có, có thể bạn sẽ sử dụng được các phần trong mô hình của họ để xây dựng mô hình của riêng mình.

  • Vấn đề có khó giải quyết không? Việc biết điểm chuẩn của con người cho nhiệm vụ có thể cho biết mức độ khó của vấn đề. Ví dụ:

    • Con người có thể phân loại loài động vật trong một bức ảnh với độ chính xác khoảng 95%.
    • Con người có thể phân loại chữ số viết tay với độ chính xác khoảng 99%.

    Dữ liệu trên cho thấy việc tạo một mô hình để phân loại động vật khó hơn so với việc tạo một mô hình để phân loại chữ số viết tay.

  • Có đối tượng xấu tiềm ẩn không? Mọi người có chủ động tìm cách khai thác mô hình của bạn không? Nếu vậy, bạn sẽ phải liên tục cập nhật mô hình trước khi mô hình đó có thể bị sử dụng sai. Ví dụ: bộ lọc thư rác không thể phát hiện các loại thư rác mới khi có người khai thác mô hình này để tạo email trông có vẻ hợp lệ.

AI tạo sinh

Các mô hình AI tạo sinh có những điểm yếu tiềm ẩn có thể làm tăng độ khó của một vấn đề:

  • Nguồn đầu vào. Dữ liệu đầu vào sẽ đến từ đâu? Câu lệnh đối kháng có thể làm rò rỉ dữ liệu huấn luyện, tài liệu mở đầu, nội dung cơ sở dữ liệu hoặc thông tin về công cụ không?
  • Sử dụng đầu ra. Đầu ra sẽ được sử dụng như thế nào? Liệu mô hình có xuất ra nội dung thô hay sẽ có các bước trung gian để kiểm tra và xác minh xem nội dung đó có phù hợp hay không? Ví dụ: việc cung cấp đầu ra thô cho các trình bổ trợ có thể gây ra một số vấn đề về bảo mật.
  • Tinh chỉnh. Việc tinh chỉnh bằng một tập dữ liệu bị hỏng có thể ảnh hưởng tiêu cực đến trọng số của mô hình. Sự hỏng hóc này sẽ khiến mô hình đưa ra nội dung không chính xác, độc hại hoặc thiên vị. Như đã lưu ý trước đó, việc tinh chỉnh đòi hỏi một tập dữ liệu đã được xác minh để chứa các ví dụ chất lượng cao.

Chất lượng dự đoán

Bạn cần cân nhắc kỹ lưỡng tác động của các dự đoán của mô hình đối với người dùng và xác định chất lượng dự đoán cần thiết cho mô hình.

Chất lượng dự đoán cần thiết phụ thuộc vào loại dự đoán. Ví dụ: chất lượng dự đoán cần thiết cho một hệ thống đề xuất sẽ không giống với chất lượng dự đoán của một mô hình gắn cờ hành vi vi phạm chính sách. Việc đề xuất video không phù hợp có thể mang lại trải nghiệm không tốt cho người dùng. Tuy nhiên, việc gắn cờ nhầm một video là vi phạm chính sách của nền tảng có thể phát sinh chi phí hỗ trợ, hoặc tệ hơn là phí pháp lý.

Mô hình của bạn có cần phải có chất lượng dự đoán rất cao vì dự đoán sai sẽ tốn rất nhiều chi phí không? Nhìn chung, chất lượng dự đoán càng cao thì vấn đề càng khó. Thật không may, các dự án thường đạt đến điểm lợi nhuận giảm dần khi bạn cố gắng cải thiện chất lượng. Ví dụ: việc tăng độ chính xác của một mô hình từ 99,9% lên 99,99% có thể làm tăng chi phí của dự án lên gấp 10 lần (nếu không muốn nói là hơn).

Khi chất lượng dự đoán tăng lên, chi phí dự án cũng tăng theo.

Hình 2. Một dự án học máy thường cần ngày càng nhiều tài nguyên khi chất lượng dự đoán cần thiết tăng lên.

AI tạo sinh

Khi phân tích kết quả của AI tạo sinh, hãy cân nhắc những điều sau:

  • Tính xác thực. Mặc dù các mô hình AI tạo sinh có thể tạo ra nội dung trôi chảy và mạch lạc, nhưng không đảm bảo rằng nội dung đó là thực tế. Những câu nói sai sự thật của các mô hình AI tạo sinh được gọi là lời bịa đặt. Ví dụ: các mô hình AI tạo sinh có thể bịa đặt và tạo ra nội dung tóm tắt văn bản không chính xác, câu trả lời sai cho các câu hỏi toán học hoặc tuyên bố sai về thế giới. Nhiều trường hợp sử dụng vẫn yêu cầu con người xác minh kết quả đầu ra của AI tạo sinh trước khi được sử dụng trong môi trường sản xuất, ví dụ: mã do LLM tạo.

    Giống như công nghệ học máy truyền thống, yêu cầu về độ chính xác thực tế càng cao thì chi phí phát triển và duy trì càng lớn.

  • Chất lượng đầu ra. Hậu quả pháp lý và tài chính (hoặc hậu quả về đạo đức) của đầu ra không phù hợp, chẳng hạn như nội dung thiên vị, đạo nhái hoặc độc hại là gì?

Yêu cầu về kỹ thuật

Các mô hình có một số yêu cầu kỹ thuật ảnh hưởng đến tính khả thi của chúng. Sau đây là các yêu cầu kỹ thuật chính mà bạn cần đáp ứng để xác định tính khả thi của dự án:

  • Độ trễ. Các yêu cầu về độ trễ là gì? Cần phân phát các cụm từ gợi ý nhanh đến mức nào?
  • Số truy vấn mỗi giây (QPS). Các yêu cầu về QPS là gì?
  • Mức sử dụng RAM. Yêu cầu về RAM đối với việc huấn luyện và phân phát là gì?
  • Nền tảng. Mô hình sẽ chạy ở đâu: Trực tuyến (các truy vấn được gửi đến máy chủ RPC), WebML (trong trình duyệt web), ODML (trên điện thoại hoặc máy tính bảng) hay ngoại tuyến (các dự đoán được lưu trong bảng)?
  • Khả năng diễn giải. Thông tin dự đoán có cần phải giải thích được không? Ví dụ: sản phẩm của bạn có cần trả lời những câu hỏi như "Tại sao một nội dung cụ thể bị đánh dấu là nội dung rác?" hoặc "Tại sao một video bị xác định là vi phạm chính sách của nền tảng?"

  • Tần suất huấn luyện lại. Khi dữ liệu cơ bản cho mô hình của bạn thay đổi nhanh chóng, bạn có thể cần phải huấn luyện lại thường xuyên hoặc liên tục. Tuy nhiên, việc huấn luyện lại thường xuyên có thể dẫn đến chi phí đáng kể, có thể lớn hơn lợi ích của việc cập nhật các dự đoán của mô hình.

Trong hầu hết các trường hợp, có thể bạn sẽ phải giảm chất lượng của một mô hình để tuân thủ các thông số kỹ thuật của mô hình đó. Trong những trường hợp đó, bạn cần xác định xem mình có thể tạo ra một mô hình đủ tốt để đưa vào sản xuất hay không.

AI tạo sinh

Hãy cân nhắc các yêu cầu kỹ thuật sau đây khi làm việc với AI tạo sinh:

  • Nền tảng. Nhiều mô hình được huấn luyện trước có nhiều kích thước, cho phép chúng hoạt động trên nhiều nền tảng với các tài nguyên điện toán khác nhau. Ví dụ: các mô hình được huấn luyện trước có thể có quy mô từ trung tâm dữ liệu đến phù hợp với điện thoại. Bạn cần cân nhắc độ trễ, quyền riêng tư và các hạn chế về chất lượng của sản phẩm hoặc dịch vụ khi chọn kích thước mô hình. Những ràng buộc này thường có thể xung đột với nhau. Ví dụ: các hạn chế về quyền riêng tư có thể yêu cầu các suy luận chạy trên thiết bị của người dùng. Tuy nhiên, chất lượng đầu ra có thể kém do thiết bị thiếu tài nguyên tính toán để tạo ra kết quả tốt.
  • Độ trễ. Kích thước đầu vào và đầu ra của mô hình ảnh hưởng đến độ trễ. Cụ thể, kích thước đầu ra ảnh hưởng đến độ trễ nhiều hơn kích thước đầu vào. Mặc dù các mô hình có thể song song hoá dữ liệu đầu vào, nhưng chúng chỉ có thể tạo dữ liệu đầu ra theo trình tự. Nói cách khác, độ trễ có thể giống nhau khi nhập dữ liệu gồm 500 từ hoặc 10 từ, trong khi việc tạo bản tóm tắt gồm 500 từ sẽ mất nhiều thời gian hơn đáng kể so với việc tạo bản tóm tắt gồm 10 từ.
  • Sử dụng công cụ và API. Mô hình có cần sử dụng các công cụ và API, chẳng hạn như tìm kiếm trên Internet, sử dụng máy tính hoặc truy cập vào một ứng dụng email để hoàn thành một nhiệm vụ không? Thông thường, càng cần nhiều công cụ để hoàn thành một tác vụ, thì càng có nhiều cơ hội để truyền bá lỗi và tăng khả năng dễ bị tấn công của mô hình.

Chi phí

Việc triển khai ML có xứng đáng với chi phí của nó không? Hầu hết các dự án ML sẽ không được phê duyệt nếu giải pháp ML tốn kém hơn để triển khai và duy trì so với số tiền mà giải pháp đó tạo ra (hoặc tiết kiệm được). Các dự án ML phát sinh cả chi phí cho con người và máy móc.

  • Chi phí về con người. Cần bao nhiêu người để dự án chuyển từ giai đoạn chứng minh khái niệm sang giai đoạn sản xuất? Khi các dự án ML phát triển, chi phí thường tăng lên. Ví dụ: các dự án học máy cần nhiều người triển khai và duy trì một hệ thống sẵn sàng sản xuất hơn là tạo một nguyên mẫu. Hãy cố gắng ước tính số lượng và loại vai trò mà dự án sẽ cần ở mỗi giai đoạn.

  • Chi phí máy móc. Việc huấn luyện, triển khai và duy trì các mô hình đòi hỏi nhiều tài nguyên điện toán và bộ nhớ. Ví dụ: bạn có thể cần hạn mức TPU để huấn luyện các mô hình và phân phát dự đoán, cùng với cơ sở hạ tầng cần thiết cho quy trình dữ liệu của bạn. Bạn có thể phải trả phí để được gắn nhãn dữ liệu hoặc trả phí cấp phép dữ liệu. Trước khi huấn luyện một mô hình, hãy cân nhắc việc ước tính chi phí máy móc để xây dựng và duy trì các tính năng học máy trong thời gian dài.

  • Chi phí suy luận. Liệu mô hình có cần đưa ra hàng trăm hoặc hàng nghìn suy luận tốn kém hơn doanh thu được tạo ra không?

Lưu ý

Việc gặp phải các vấn đề liên quan đến bất kỳ chủ đề nào ở trên có thể gây khó khăn cho việc triển khai một giải pháp học máy, nhưng thời hạn chặt chẽ có thể làm tăng thêm những khó khăn này. Cố gắng lên kế hoạch và dự trù đủ thời gian dựa trên mức độ khó của vấn đề, sau đó cố gắng dành thêm thời gian dự phòng so với thời gian bạn có thể dành cho một dự án không phải là dự án học máy.

Kiểm tra mức độ hiểu biết của bạn

Bạn làm việc cho một công ty bảo tồn thiên nhiên và quản lý phần mềm nhận dạng thực vật của công ty. Bạn muốn tạo một mô hình để phân loại 60 loại loài thực vật xâm lấn nhằm giúp các nhà bảo tồn quản lý môi trường sống cho các loài động vật có nguy cơ tuyệt chủng.

Bạn tìm thấy mã mẫu giải quyết một vấn đề tương tự về việc nhận dạng thực vật và chi phí ước tính để triển khai giải pháp của bạn nằm trong ngân sách của dự án. Mặc dù tập dữ liệu có nhiều ví dụ huấn luyện, nhưng chỉ có một vài ví dụ cho 5 loài xâm hại nhất. Ban lãnh đạo không yêu cầu các dự đoán của mô hình phải có thể diễn giải được và dường như không có hậu quả tiêu cực nào liên quan đến các dự đoán không chính xác. Giải pháp ML của bạn có khả thi không?

STT
Chính xác. Mặc dù hầu hết các tiêu chí về tính khả thi đều được đáp ứng, nhưng có lẽ không có đủ ví dụ cho mỗi loài để huấn luyện mô hình đủ tốt nhằm đưa ra dự đoán chính xác.
Có.
Mặc dù đáp ứng hầu hết các tiêu chí về tính khả thi, nhưng không có đủ ví dụ cho từng loài để huấn luyện mô hình đủ tốt nhằm đưa ra dự đoán chính xác.