Google đã thua Meta trong cuộc chiến về 'học máy'
Giờ đây, Google đang đặt cược tương lai các sản phẩm của chính mình vào một dự án AI nội bộ mới.
Vào năm 2015, Google về cơ bản đã tạo ra hệ sinh thái cho học máy hiện đại khi mở một dự án nghiên cứu nhỏ từ nhóm phát triển trí tuệ nhân tạo Google Brain, có tên là TensorFlow. Nó sau đó nhanh chóng trở nên phổ biến và biến công ty trở thành "ông trùm" quản lý các sản phẩm AI chính thống.
Nhưng ngày nay, câu chuyện đã khác, khi Google đã đánh mất vị thế của mình - bao gồm cả trái tim và khối óc của các nhà phát triển - vào tay Meta.
Từng là một công cụ học máy có mặt ở khắp nơi, TensorFlow của Google đã dần tụt hậu so với công cụ học máy PyTorch của Meta. PyTorch được phát triển lần đầu tiên tại Facebook và có nguồn mở ở dạng beta vào năm 2017. Và ngày nay, nó đang ngày càng được coi là người dẫn đầu trong lính vực này.
Trong khi Google vấp phải một loạt các sai lầm chiến thuật, Meta lại đưa ra được các quyết định phát triển hợp lý và vượt trội trong cộng đồng mã nguồn mở, tới mức các chuyên gia cho rằng cơ hội của Google để định hướng cho tương lai của lĩnh vực học máy trên Internet có thể sẽ không còn nữa. PyTorch đã trở thành công cụ phát triển máy học dành cho các nhà phát triển bình thường cũng như các nhà nghiên cứu khoa học.
"Học máy" là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể.
Giờ đây, dưới cái bóng của PyTorch, Google đã âm thầm xây dựng một framework học máy mới, được gọi là JAX. Ban đầu, đây là từ viết tắt của "Just After eXecution", nhưng sau đó nó đã không còn là viết tắt của bất cứ điều gì. Nhiều người coi nó là thứ kế thừa TensorFlow.
Google Brain và công ty con DeepMind AI của Google đã từ chối triển khai mở rộng TensorFlow để dọn đường cho JAX, theo chia sẻ từ những người thân cận với dự án. Một đại diện của Google đã xác nhận rằng JAX hiện đã được áp dụng phổ biến tại Google Brain và DeepMind.
Ban đầu, JAX phải đối mặt với sự phản kháng đáng kể từ bên trong, theo chia sẻ từ những người trong cuộc. Những người này cho biết các nhân viên của Google đã quen với việc sử dụng TensorFlow. Tuy cách tiếp cận của JAX đơn giản hơn nhiều, nhưng dù sao điều này cũng đã thay đổi cách Google xây dựng phần mềm nội bộ, họ nói.
Những người có kiến thức về dự án cho biết công cụ này hiện được kỳ vọng sẽ trở thành nền tảng của tất cả các sản phẩm của Google sử dụng máy học trong những năm tới, giống như cách mà TensorFlow đã làm vào cuối những năm 2010.
Và JAX dường như đã thoát ra khỏi phạm vi hoạt động của Google, khi công ty phần mềm đám mây Salesforce nói rằng họ đã áp dụng nó trong các nhóm nghiên cứu của mình.
Viral Shah, người tạo ra ngôn ngữ lập trình Julia mà các chuyên gia thường so sánh với JAX cho biết:
“JAX là một kỳ công của kỹ thuật",
"Tôi nghĩ về JAX như một ngôn ngữ lập trình riêng biệt sẽ được khởi tạo thông qua Python. Nếu bạn tuân thủ các quy tắc mà JAX muốn bạn làm, thì nó có thể làm được những điều kỳ diệu. Và thật đáng kinh ngạc về những gì nó có thể làm được."
Google hiện đang hy vọng đạt được thành công một lần nữa, đồng thời học hỏi từ những sai lầm đã mắc phải trong quá trình phát triển TensorFlow. Tuy nhiên, các chuyên gia cho rằng đó sẽ là một thách thức to lớn vì sự hiện diện của Meta và PyTorch.
Buổi hoàng hôn của TensorFlow và sự trỗi dậy của PyTorch
Theo các dữ liệu chính thống, sức ảnh hưởng của PyTorch đang cho thấy nó sắp bắt kịp TensorFlow. Dữ liệu về mức độ tương tác từ Stack Overflow cho thấy mức độ phổ biến của TensorFlow được đo bằng tỷ lệ các câu hỏi được hỏi trên diễn đàn của các nhà phát triển và chúng đã đình trệ trong những năm gần đây, trong khi mức độ tương tác của PyTorch tiếp tục tăng.
Khi không còn ai hỏi han, tức là sự quan tâm đã hết.
Ban đầu, TensorFlow phát triển mạnh mẽ và gần như bùng nổ sau khi ra mắt. Nhiều công ty lớn như Uber và Airbnb, thậm chí các tổ chức như NASA đã nhanh chóng chọn và bắt đầu sử dụng nó cho một số dự án phức tạp nhất của họ. Đó là các dự án đòi hỏi thuật toán đào tạo trên các tập dữ liệu lớn. Nó đã được tải xuống 160 triệu lần vào tháng 11/2020.
Nhưng các tính năng khủng khiếp và việc cập nhật liên tục của Google ngày càng khiến TensorFlow khó sử dụng và không thân thiện với người dùng, ngay cả những người trong nội bộ của Google, theo chia sẻ từ các nhà phát triển. Google đã phải thường xuyên cập nhật hệ thống của mình bằng các công cụ mới khi lĩnh vực học máy phát triển với tốc độ chóng mặt. Và khi ngày càng có nhiều người tham gia, dự án càng bị mở rộng, dẫn đến việc thiếu tập trung vào các thành phần cốt lõi ban đầu.
PyTorch là một framework học máy mã nguồn mở dựa trên thư viện Torch, được sử dụng cho các ứng dụng như thị giác máy tính và xử lý ngôn ngữ tự nhiên, chủ yếu được phát triển bởi Meta AI.
PyTorch, trong khi đó, đã ra mắt phiên bản đầy đủ vào năm 2018 từ phòng nghiên cứu trí tuệ nhân tạo của Facebook. Trong khi cả TensorFlow và PyTorch đều được xây dựng dựa trên Python, ngôn ngữ ưa thích của các chuyên gia học máy, thì Meta (hay Facebook trước đây) đã đầu tư rất nhiều vào việc phục vụ cộng đồng nguồn mở. PyTorch cũng được hưởng lợi từ mức độ tập trung vào việc làm tốt một số việc nhỏ, điều mà TensorFlow đã vô tình đánh mất.
"Chúng tôi chủ yếu sử dụng PyTorch; nó được cộng đồng ủng hộ nhiều nhất",
"Chúng tôi nghĩ rằng PyTorch có lẽ đang làm tốt nhất với mã nguồn mở. Họ đảm bảo rằng các câu hỏi được trả lời trực tuyến. Các ví dụ đều hoạt động. PyTorch luôn có cách tiếp cận đầu tiên".
Một số tổ chức lớn cũng đang triển khai các dự án chạy trên PyTorch. Tesla và Uber cũng thực hiện các dự án nghiên cứu máy học khó nhất của họ trên PyTorch.
JAX, tương lai của học máy tại Google
Jeff Dean, Phó chủ tịch cấp cao của Google AI
Khi trận chiến giữa PyTorch và TensorFlow vẫn đang diễn ra, một nhóm nghiên cứu nhỏ bên trong Google đã làm việc trên một framework (các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói) mới giúp truy cập dễ dàng hơn vào các chip được xây dựng tùy chỉnh - được gọi là đơn vị xử lý tensor hoặc TPU - làm nền tảng cho phương pháp tiếp cận trí tuệ nhân tạo và chỉ có thể truy cập thông qua TensorFlow.
Các nhà nghiên cứu của nhóm bao gồm Roy Frostig, Matthew James Johnson và Chris Leary. Cả 4 người đã phát hành một bài báo vào năm 2018 với tiêu đề "Biên dịch các chương trình học máy thông qua truy tìm cấp cao", mô tả những gì sau này đã trở thành JAX.
Adam Paszke, một trong những tác giả ban đầu của PyTorch khi còn làm việc tại Facebook, cũng bắt đầu làm việc với Johnson vào năm 2019 khi còn là sinh viên và đã tham gia nhóm JAX vào đầu năm 2020.
Dự án mới, JAX, đã đưa ra một cách thiết kế đơn giản hơn để xử lý một trong những vấn đề phức tạp nhất trong lĩnh vực học máy: dàn trải công việc của một vấn đề lớn trên nhiều chip. Thay vì chạy các đoạn mã riêng lẻ cho các chip riêng biệt, JAX tự động phân phối công việc. Nó cho phép truy cập ngay lập tức vào nhiều TPU mà bạn cần để làm bất cứ điều gì bạn muốn.
JAX đã giải quyết một vấn đề cơ bản mà các nhà nghiên cứu của Google phải đối mặt khi nghiên cứu các vấn đề ngày càng lớn và ngày càng cần nhiều sức mạnh tính toán hơn.
Thách thức lớn nhất của Google là chiến lược của Meta với PyTorch
Cả PyTorch và TensorFlow đều bắt đầu theo cùng một cách. Đầu tiên, chúng là các dự án nghiên cứu, sau đó dần trở thành tiêu chuẩn trong nghiên cứu máy học. Sau đó, các nhà nghiên cứu đã đưa chúng tới phần còn lại của thế giới.
Tuy nhiên, JAX phải đối mặt với một số thách thức. Đầu tiên là nó vẫn dựa trên các framework khác theo nhiều cách. Các nhà phát triển và chuyên gia nói rằng JAX không đưa ra cách tải dữ liệu và xử lý trước dữ liệu một cách dễ dàng, đòi hỏi TensorFlow hoặc PyTorch phải xử lý phần lớn quá trình thiết lập.
Khung cơ bản của JAX, XLA , cũng chỉ đang được tối ưu hóa cao cho các TPU của Google. Nó tất nhiên cũng hoạt động với nhiều GPU và CPU truyền thống, nhưng vẫn chưa thể đạt được mức ngang bằng với TPU.
Người phát ngôn của Google cho biết việc tập trung vào TPU là do... sự nhầm lẫn về tổ chức và chiến lược từ năm 2018 đến năm 2021, dẫn đến việc không đầu tư và có mức độ ưu tiên dưới mức tối ưu cho hỗ trợ GPU, cũng như thiếu sự hợp tác với nhà cung cấp GPU lớn. Các vấn đề này đang nhanh chóng được cải thiện. Người phát ngôn cho biết nghiên cứu nội bộ của Google cũng chủ yếu tập trung vào TPU, dẫn đến việc thiếu các vòng phản hồi tốt cho việc sử dụng GPU.
“Bất cứ điều gì được thực hiện để tạo lợi thế cho phần cứng này so với phần cứng khác sẽ ngay lập tức bị coi là hành vi xấu, và nó sẽ bị từ chối trong cộng đồng mã nguồn mở",
Không ai muốn bị khóa vào một nhà cung cấp phần cứng duy nhất, đó là lý do tại sao các framework học máy xuất hiện. Những người thực hành công nghệ máy học muốn đảm bảo rằng các mô hình của họ là di động, để họ có thể đưa chúng đến bất kỳ nền tảng phần cứng nào họ chọn và không bị khóa với chỉ một nền tảng."
Đồng thời, bản thân PyTorch hiện đã gần 6 năm tuổi, vượt qua độ tuổi mà TensorFlow lần đầu tiên bắt đầu có dấu hiệu chậm lại. Không rõ liệu dự án của Meta có gặp số phận tương tự như phiên bản tiền nhiệm được Google hậu thuẫn hay không, nhưng điều đó có nghĩa đây là thời điểm thích hợp cho một cái gì đó mới xuất hiện. Và một số chuyên gia đã chỉ ra rằng với quy mô của Google, thì các nhà phê bình đừng bao giờ coi thường "gã khổng lồ trong lĩnh vực tìm kiếm".
Tham khảo BI
Theo Bảo Nam
Trí Thức Trẻ