1 điểm bởi GN⁺ 2023-12-16 | 1 bình luận | Chia sẻ qua WhatsApp

Cách tốt nhất để đầu tư vào việc phát triển kỹ năng trí tuệ nhân tạo/học máy

  • Một câu hỏi xin ý kiến về cách tốt nhất để đầu tư thời gian và năng lượng khi dành khoảng 1 giờ mỗi ngày cho việc phát triển kỹ năng trí tuệ nhân tạo (AI)/học máy (ML).
  • Nhiều phương pháp khác nhau được đưa ra, đồng thời yêu cầu các ví dụ hoặc gợi ý cụ thể cho từng cách.
    • Xây dựng các dự án nhỏ (nên làm gì?)
    • Đọc blog/newsletter (nên đọc những gì?)
    • Học các khóa học (nên học khóa nào?)
    • Đọc giáo trình/sách (nên đọc cuốn nào?)
    • Tham gia các cuộc thi Kaggle
    • Tham gia diễn đàn/cộng đồng AI/ML
    • Kết hợp các cách trên (nếu có thể, chia sẻ tỷ lệ phân bổ thời gian/trọng số)
  • Câu hỏi này thường được đặt ra nhằm giúp các kỹ sư phần mềm xây dựng năng lực trong lĩnh vực ML.

Ý kiến của GN⁺

  • Tầm quan trọng: Trí tuệ nhân tạo và học máy hiện là một trong những lĩnh vực phát triển nhanh nhất trong thế giới công nghệ, và đang trở thành kỹ năng thiết yếu đối với các kỹ sư phần mềm. Phát triển kỹ năng trong lĩnh vực này có thể giúp ích rất nhiều cho sự thăng tiến nghề nghiệp.
  • Điểm thú vị: AI/ML đang mang lại đổi mới cho nhiều ngành và lĩnh vực ứng dụng khác nhau, và việc học cũng như thực hành trong lĩnh vực này mở ra cơ hội tạo ra các dự án sáng tạo và đầy thách thức.
  • Sự đa dạng trong phương pháp học: Các phương pháp học được nêu ra có thể được điều chỉnh linh hoạt theo phong cách học và mục tiêu cá nhân, và sự đa dạng này có thể giúp mỗi người tìm ra lộ trình học tối ưu phù hợp với mình.

1 bình luận

 
GN⁺ 2023-12-16
Ý kiến trên Hacker News
  • Chia sẻ trải nghiệm học vị

    • Đã lấy bằng thạc sĩ về ML (machine learning) ở một trường tốt. Những gì học được ở trường cũng có thể tự học một mình, nhưng trường học mang lại sự tập trung và áp lực mà khó có được khi tự học.
    • Việc triển khai lại các bài báo là trải nghiệm học được nhiều nhất. Bài giảng và giáo trình chỉ là ngôn từ; tự tay làm mang lại kiến thức sâu hơn rất nhiều.
    • Có thể đề xuất nhiều giáo trình khác nhau, nhưng cách tốt nhất là dành 1 giờ để tập trung giải quyết vấn đề.
    • Một vài gợi ý dự án: huấn luyện một mạng nơ-ron nhỏ để học các hàm đơn giản, bộ phân loại chữ số MNIST, fine-tune GPT2 trên một corpus chuyên biệt, huấn luyện mạng nơ-ron sinh đôi để đo độ tương đồng thị giác, v.v.
    • Khuyên không nên lãng phí thời gian vào việc tự viết mạng nơ-ron và backpropagation, mà nên học cách dùng công cụ profiling và debugging.
  • Lời khuyên từ nhà nghiên cứu AI và nhà sáng lập công nghệ

    • Nếu đang nói về việc theo kịp các tiến bộ mới nhất, thì không nên đi theo một lộ trình tuyến tính. Hãy học một khóa, làm một dự án nhỏ, đặt giới hạn thời gian và cố hoàn thành.
    • Hãy tìm một lĩnh vực nghiên cứu thú vị, chạy code GitHub liên quan, rồi tìm cách cải tiến hoặc ứng dụng vào sản phẩm.
    • Gợi ý học khóa của fast.ai, đọc các bài blog của Karpathy, học các khóa Stanford cs231n và cs234, v.v.
    • Hãy tìm một dự án bạn thấy hứng thú và bắt tay chạy nó.
  • Tầm quan trọng của việc đưa ML vào thực tế

    • Nhiều bình luận sẽ nhấn mạnh phần cấp thấp của ML, nhưng điều ML cần lúc này là những người thông minh ở cấp độ triển khai.
    • Việc tận dụng công nghệ LLM hiện có để tạo ra phần mềm mà người bình thường có thể dùng là công việc quan trọng và cần thiết.
    • Thực hành hằng ngày có thể là phác thảo ứng dụng, cấu trúc prompt và function calling, học cách marketing thứ mình tạo ra, và xây công cụ đưa ý tưởng từ zero đến one.
    • Ví dụ được nêu ra gồm việc áp dụng kỹ thuật danh mục chung từ thời Aristotle vào kỷ nguyên embedding hiện đại, và việc hiểu đặc tả MD thuần túy rồi tích hợp mô hình sinh dạng streaming.
  • Biến AI/ML thành công việc thường nhật

    • Hãy tìm cách đưa AI/ML vào đường đi quan trọng trong công việc. Giống như học một ngôn ngữ mới, không gì hiệu quả bằng sự đắm mình hoàn toàn.
    • Nếu vẫn chưa có nền tảng đủ để tìm được việc trong ngành, thì cách tốt tiếp theo là làm một dự án đam mê và liên tục nghĩ ra hướng giải quyết mới.
    • Cuối cùng, hãy cân nhắc quay lại trường học. Nó tốn hơn 1 giờ mỗi ngày, nhưng có thể cho kết quả nhanh và cụ thể hơn nhiều chiến lược học khác.
  • Lộ trình điển hình của một sinh viên ML/AI

    • Cần có kiến thức nền như toán và khoa học máy tính. Thường bao gồm giải tích, đại số tuyến tính, xác suất và thống kê, lập trình, lập trình hướng đối tượng, cấu trúc dữ liệu và thuật toán, v.v.
    • Sau khi học xong khóa ML cơ bản, sẽ chuyển sang phần nền tảng của DL (deep learning), một lĩnh vực thay đổi rất nhanh.
    • Sau đó chia thành ML engineering và ML research. Engineering tập trung vào các khía cạnh kỹ thuật liên quan đến pipeline ML, còn research tập trung vào bản thân khoa học.
    • Như người khác đã nói, dùng công cụ để triển khai là vừa thú vị vừa hữu ích. Nếu cố tự triển khai mọi mô hình, bạn có thể gặp rất nhiều khó khăn.
    • Khi học ML “thực dụng”, người ta thường cố triển khai mô hình theo cách có thể đưa dữ liệu vào qua API và nhận kết quả đầu ra. Điều này bao gồm các thách thức như xử lý dữ liệu, phát triển và hosting phần mềm, phát triển API, v.v.
  • Nhận thức về giới hạn của AI/ML

    • Đừng để trí tưởng tượng đi quá xa hoặc quá tự tin về những gì AI/ML có thể làm.
    • Có người đã tham gia dự án ML trong 2 năm tại một công ty lớn nhưng nhận ra nó không cải thiện hơn các phương pháp thống kê sẵn có, và vì không thể hiểu “hộp đen” của ML nên cũng không tạo ra cải tiến thực chất nào cho quy trình.
    • Nhiều công việc ML thực chất là giải pháp đi tìm vấn đề.
    • Điều quan trọng là hiểu cách dùng database (SQL và NoSQL). Muốn dùng ML hiệu quả, cần kỹ năng rất tốt trong việc lập trình với khối lượng dữ liệu lớn và hiệu năng cao.
  • Cách học AI/ML

    • Hãy đọc từ đầu đến cuối cuốn "An Introduction to Statistical Learning with Applications in R/Python" của Hastie và cộng sự, và hiểu các khái niệm/ý tưởng/sắc thái/tinh tế được giải thích trong đó.
    • Chuẩn bị sẵn sách toán/thống kê; khi gặp một kỹ thuật toán học chưa biết, hãy lập tức tra sách hoặc xem video YouTube ngắn để hiểu khái niệm và cách dùng.
    • Đây là cách đơn giản và trực diện nhất để học và hiểu AI/ML. Mọi điều khác được nhắc tới trong chủ đề này nên làm sau khi hoàn thành phần này.
  • Sự kết hợp giữa ML và engineering

    • Hãy xem xét điểm giao giữa ML và engineering.
    • Hãy cân nhắc ML ops, áp dụng DevOps, testing và ci/cd trong không gian ML, cách huấn luyện trên nhiều GPU, và đặc biệt là cách hosting LLM ở quy mô lớn với chi phí thấp.
    • Trong học thuật có hàng trăm ứng viên có nền tảng học thuật rất mạnh, nhưng số kỹ sư giàu kinh nghiệm có thể biến tham vọng của họ thành hiện thực thì rất ít.
  • Tập trung vào deep learning

    • Hầu hết LLM dùng kiến trúc transformer. Có thể học nó theo cách trực quan qua các bài blog hoặc tài liệu của Andrej Karpathy.
    • Để theo kịp các bài báo mới công bố mỗi tuần, có người đọc bản tóm tắt vào mỗi Chủ nhật.
    • Để học thêm về khía cạnh engineering, có thể tham gia server Discord của EleutherAI hoặc theo dõi thảo luận GitHub của các dự án như llama.cpp.
    • Cách phát triển hiệu quả nhất có lẽ là triển khai lại các bài báo quan trọng trong lĩnh vực. Nó có mục tiêu rõ ràng, dấu hiệu thành công rõ ràng, và có nhiều implementation để đối chiếu, so sánh và học hỏi.
  • Quiz cho người mới bắt đầu với LLM

    • Gần đây đã dạy một buổi giới thiệu về LLM cho học viên cao học không thuộc CS (sinh y học). Muốn giao một bài quiz làm bài tập về nhà nhưng không tìm được bộ câu hỏi tốt nên đã tự tạo một quiz trắc nghiệm. Quiz này khá “ác”, và nếu không có hiểu biết vững thì rất dễ mắc bẫy. Một vài câu có những sắc thái giúp kiểm tra mức độ hiểu, đồng thời bản thân việc cố tìm đáp án đúng cũng giúp người học tiến bộ. Đây là một Google Form không thu thập email.