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

Bộ sưu tập bài đọc về các bài báo NLP

  • Bộ sưu tập bài đọc về xử lý ngôn ngữ tự nhiên (NLP) gồm 22 mục.
  • Bộ sưu tập này vừa được cập nhật gần đây và hữu ích để nắm bắt các xu hướng nghiên cứu mới nhất trong lĩnh vực NLP.
  • NLP là công nghệ giúp máy tính hiểu và xử lý ngôn ngữ của con người, với nhiều lĩnh vực ứng dụng như dịch máy, phân tích cảm xúc, hệ thống hỏi đáp, v.v.

Ý kiến của GN⁺

  • Bộ sưu tập này là tài liệu giúp có cái nhìn tổng quan về các nghiên cứu mới nhất trong lĩnh vực NLP, và sẽ rất hữu ích cho các nhà nghiên cứu hoặc nhà phát triển quan tâm đến NLP.
  • NLP là một lĩnh vực phát triển đặc biệt nhanh ngay cả trong số các công nghệ AI, và thông qua bộ sưu tập này, bạn có thể tiếp cận các xu hướng mới nhất và những ý tưởng đổi mới.
  • Công nghệ xử lý ngôn ngữ tự nhiên đã được tích hợp sâu vào cuộc sống hằng ngày của chúng ta, và qua bộ sưu tập này có thể hé thấy hướng phát triển của công nghệ đó cũng như những khả năng trong tương lai.

1 bình luận

 
GN⁺ 2023-12-22
Ý kiến trên Hacker News
  • Tôi đã mất một lúc mới hiểu được bài báo này, vì nó dựa trên các kỹ thuật từ bài báo 'Deja Vu' và xử lý những phương pháp phức tạp tận dụng tính thưa:

    • Bài báo 'Deja Vu' quan sát thấy rằng các mô hình có độ thưa trọng số thấp lại có "độ thưa theo ngữ cảnh" cao. Nói cách khác, phép nhân ma trận tạo ra các vector chứa rất nhiều số 0 ở các vị trí khác nhau tùy theo đầu vào.
    • Bài báo chỉ ra rằng có thể tận dụng độ thưa này để không cần nạp một số hàng của ma trận.
    • Nhưng để có được cải thiện hiệu năng tốt, cần phải dự đoán trước hàng nào sẽ bị bỏ qua. Điều này có thể thực hiện bằng ma trận hạng thấp.
    • Bài báo của Apple cho rằng phát hiện này không chỉ cải thiện hiệu năng nạp từ RAM mà còn cho phép nạp từ bộ nhớ flash mà không phải hy sinh băng thông:
      • Điều đáng chú ý là bài báo nói rằng ma trận attention là phần nhẹ, còn điều quan trọng là nạp thưa cho feedforward network (FFN).
      • Bài báo chỉ ra rằng việc dự đoán đầu ra của tầng ReLU có thể mang lại độ thưa tốt hơn nhiều so với dự đoán đầu vào của FFN. Tức là, "nếu sau phép matmul có thể dự đoán rằng ô vector này sẽ có giá trị âm trước ReLU, thì có thể không nạp cột ma trận đó mà vẫn xuất ra 0".
      • Bài báo đề xuất rằng phần lớn các hàng FFN hoàn toàn không cần phải nạp, và có thể duy trì cache các hàng FFN được dùng gần đây cho từng FFN rồi cập nhật từ bộ nhớ flash khi cần.
    • Bài báo cũng có nói về việc nạp theo chunk và mối tương quan giữa các tầng chiếu, nhưng hiểu biết chính là phần đã nêu ở trên.
  • Tôi đã hy vọng tìm được trong phần kết luận của bài báo một mục nói về cách tính năng này sẽ được cung cấp cho người dùng, nhưng có lẽ thảo luận đó nằm ngoài phạm vi bài báo.

    • Tôi tự hỏi liệu tính năng này có được cung cấp cho người dùng dưới dạng lời gọi API và cấu hình trong CoreML hay không, ví dụ cần đặt cờ use_flash, hay đây sẽ là một tối ưu runtime trong suốt với người dùng. Tôi cũng muốn biết có bài nói chuyện hay bản trình bày nào hay về lộ trình phát triển của Apple cho CoreML, Metal, v.v. không.
  • Tôi tự hỏi phải không nạp bao nhiêu phần của mô hình thì mới bắt đầu thấy khác biệt hiệu năng trong thực tế.

    • Ví dụ, nếu muốn giữ 90% hiệu năng so với chạy từ RAM, thì liệu chỉ cần dùng một nửa bộ nhớ là đủ hay vẫn cần 90% hoặc 95%.
    • Tôi tò mò hiệu năng giảm nhanh đến mức nào so với hiệu năng tối đa khi cắt giảm RAM. Biểu đồ đang so sánh thuật toán cơ sở với trường hợp dùng ít RAM hơn, nhưng đó lại là một câu hỏi khác (dù vẫn là câu hỏi hay!).
    • Nếu có thể đạt hiệu năng tốt mà không cần nạp toàn bộ mô hình 8 GB vào bộ nhớ điện thoại, thì điều đó rõ ràng sẽ rất hữu ích.
  • Điều đáng chú ý là thiết bị Apple có RAM rất ít so với các thiết bị tương tự của đối thủ.

    • Một phần là vì đội ngũ phần mềm của Apple dùng những ngôn ngữ hiệu quả hơn như Objective-C, và cũng vì ứng dụng iOS không phải nhắm tới quá nhiều độ phân giải màn hình khác nhau nên ít phải nạp texture độ phân giải cao rồi downscale hơn.
    • Ngoài ra, ngay cả khi mua RAM ở quy mô của Apple thì giá RAM cũng không rẻ hơn đáng kể, nên tăng RAM ảnh hưởng đến biên lợi nhuận nhiều hơn so với việc thêm các tính năng khác.
    • Nhưng tất cả điều này lại thành vấn đề khi dùng large language model (LLM), vì bản chất của chúng là ngốn rất nhiều RAM. Và bất kỳ kỹ thuật tiết kiệm bộ nhớ nào cũng có thể được đối thủ có nhiều RAM hơn tận dụng để triển khai mô hình lớn hơn và tốt hơn.
  • Hiểu biết của tôi về chủ đề này còn hạn chế, nhưng tôi tự hỏi liệu công nghệ này có cho phép chạy LLM trên điện thoại di động ở chế độ offline hay không.

    • Nếu có thể, điều đó có thể dẫn tới nhiều ứng dụng thú vị như kiểm duyệt nội dung có hỗ trợ AI mà không cần gửi dữ liệu mật ra bên ngoài.
  • Tôi đánh giá cao việc các bài báo gần đây nhắc đến "LLM" thay vì "AI".

    • Làm vậy cho thấy đây là nói về một công nghệ cụ thể chứ không phải hype marketing.
  • Hơi ngạc nhiên là bài báo này không nhắc đến FlashAttention.

    • Vì cả hai nghiên cứu đều tận dụng bộ nhớ flash, có vẻ như ít nhất cũng nên đề cập đến nó.
  • Apple đã mua lại một công ty Iran à?

  • Ví dụ, mô hình OPT 6.7B được cho là có độ thưa 97% bên trong các tầng FFN.

    • Tôi tự hỏi có ai biết chính xác metric được nhắc đến ở đây có nghĩa là gì không. Nó có nghĩa là tầng đó có 97% giá trị bằng 0, hay là có thể nén nó xuống còn 3% kích thước.
  • Tôi hy vọng công nghệ này sẽ được tích hợp vào llama.cpp và candle.

    • Những tiến bộ như thế này thật sự rất đáng kinh ngạc, và tôi hy vọng một ngày nào đó chúng cũng sẽ được áp dụng vào các thư viện này.