Unified Memory liệu có ảnh hưởng gì tới đào tạo mô hình AI hay không?

Lư Thế Nghĩa
22/2/2024 13:40Phản hồi: 33
Unified Memory liệu có ảnh hưởng gì tới đào tạo mô hình AI hay không?
Khi việc đào tạo và sử dụng các mô hình ngôn ngữ lớn (LLM - Large Language Model) hay AI đang dần trở nên phổ biến, người ta sẽ có xu hướng tự trang bị 1 mini AI cho nhu cầu cá nhân, với hệ thống máy tính hiện có. Thông thường, thành phần đóng vai trò quan trọng cho tốc độ của huấn luyện và sử dụng AI là GPU, với bộ nhớ đồ họa càng lớn càng tốt, nhưng giới hạn của nó sẽ là máy tính để bàn, chiếm diện tích, giá card mắc... Nếu chỉ cần có dung lượng bộ nhớ đồ họa lớn với băng thông cao, độ trễ thấp thì các máy tính chạy Apple Silicon có 1 thứ gọi là Unified Memory, vậy liệu nó có thay thế được không?

Unified Memory là gì?


Unified Memory (bộ nhớ hợp nhất) là công nghệ bộ nhớ cho phép tất cả các thành phần xử lý của hệ thống máy tính được phép truy cập. Điều này có nghĩa là 2 thành phần chủ chốt - CPU và GPU - sẽ cùng chia sẻ 1 bộ nhớ chung thay vì phân bổ riêng và loại bộ nhớ khác biệt. Hiện tại anh em thấy máy tính sẽ có phần RAM cho hệ thống (CPU) riêng và phần VRAM cho GPU riêng, còn unified memory là 1 không gian bộ nhớ xài chung cho cả 2, vì vậy không cần VRAM cho GPU nữa.

FB-47PHVcAEEOy- copy.jpg

Unified Memory không mới nhưng tới năm 2020 thì Apple mới bắt đầu đem xuống cho các sản phẩm tiêu dùng với con chip M1. Thay vì để riêng, RAM hay unified memory architecture (UMA - thứ Apple gọi là kiến trúc bộ nhớ hợp nhất) được gắn chung đế với CPU và GPU. Tài nguyên này được chia sẻ cho bất kỳ thành phần xử lý nào của chip M1, áp dụng cho tất cả mọi vị trí bộ nhớ vật lý được tích hợp.

Khi sử dụng unified memory, CPU hay GPU có thể tự do tăng nhu cầu chiếm dụng bộ nhớ bất cứ khi nào cần thiết. Giả sử CPU cần dung lượng bộ nhớ nhiều hơn, nó sẽ lấy phần cần thiết, còn trong trường hợp ngược lại là GPU cũng tương tự, không có giới hạn trước. Dữ liệu được lưu trữ trên unified memory luôn sẵn sàng cho CPU hay GPU truy cập để lấy khi nó cần sử dụng. Việc này giảm bớt công đoạn di chuyển dữ liệu không cần thiết giữa các phần bộ nhớ riêng biệt theo kiểu thông thường, từ đó tăng tốc độ xử lý và giảm độ trễ.

RAM quen thuộc thì sao?


RAM hay Random Access Memory là công nghệ lưu trữ tạm cho thiết bị máy tính, thiết kế dễ thay đổi hoặc không tùy theo nhu cầu và môi trường sử dụng. RAM được phát triển cách đây hơn 70 năm và là định dạng bộ nhớ chủ yếu cho hầu hết máy tính cá nhân, trước khi Apple chuyển qua unified memory thì vẫn sử dụng RAM cho máy tính của hãng.

nvidia-geforce-rtx-4060-ti-founders-edition-33.jpg

RAM chỉ có khả năng lưu trữ tạm hay ngắn hạn, miễn khi nào nguồn điện còn được cung cấp, mất điện là mất dữ liệu. Có nhiều loại RAM khác nhau tính đến nay, được đồng bộ hóa với clock hệ thống. Hiện tại phổ biến nhất là SDRAM (Synchronized Dynamic Random Access Memory) với các thế hệ công nghệ DDR (Double Data Rate) nhằm tăng tốc cho RAM cũng như giảm độ trễ. Mới nhất trên nền tảng Intel socket LGA 1700 và AMD AM5 là DDR5.

Đối với card đồ họa, GPU cũng cần trang bị bộ nhớ riêng gọi là VRAM (Video Random Access Memory). Về cơ bản thì VRAM cũng là 1 loại RAM nhưng với định dạng chuyên dụng để có thể đáp ứng nhu cầu kỹ thuật của GPU. VRAM đóng vai trò quan trọng trong xử lý đồ họa, cải thiện hiệu năng và cả tăng tốc ứng dụng đồ họa. Hiện tại VRAM mới nhất được trang bị cho card đồ họa tiêu dụng mạnh nhất - RTX 4090 - là GDDR6X.

So sánh điểm giống và khác nhau của Unified Memory và RAM


RAM hay unified memory về cơ bản là giống nhau, tức đều có chức năng bộ nhớ, tuy nhiên RAM thì chỉ có khả năng lưu trữ tạm thời, mất điện đồng nghĩa với mất hết, ngược lại unified memory vẫn lưu trữ được dữ liệu kể cả khi không có điện. Không gian unified memory được xài chung cho tất cả mọi thành phần hệ thống, đặc biệt là CPU và GPU, còn RAM chỉ phục vụ GPU hoặc CPU, nếu muốn chia sẻ dữ liệu thì cần tốn thêm quá trình sao chép.

Thông thường RAM có khả năng tháo rời, thay thế và nâng cấp dễ dàng, trong khi unified memory được tích hợp sẵn, là 1 phần của SoC nên không thể nâng cấp, chỉ có thể chọn từ đầu. Ngoài ra, giá bán của RAM rẻ hơn và nhiều thương hiệu để lựa, còn unified memory có giá mắc. Tính tới thời điểm hiện tại và ở các sản phẩm máy tính tiêu dùng, unified memory chỉ có trên những sản phẩm của Apple với con chip M1, M2 và M3.

Quảng cáo


Unified Memory có tác động tích cực tới AI?


Hồi cuối năm 2023, Apple ra mắt framework nguồn mở MLX, thiết kế đặc biệt để thực hiện các tác vụ máy học (machine learning) trên Apple Silicon. Động thái này cho thấy Apple hướng tới kiểm soát toàn bộ và mở rộng thêm cho hệ sinh thái của hãng, đáp ứng nhu cầu các nhà phát triển phần mềm AI. Trước đây, các nhà phát triển AI phải sử dụng hệ thống chạy Linux hoặc Microsoft nguồn mở, MLX có nhiệm vụ giải quyết những vấn đề về hiệu năng và khả năng tương thích lâu dài liên quan tới kiến trúc và phần mềm của Apple. MLX lấy cảm hứng từ các framework nổi tiếng như PyTorch, Jax và ArrayFire, tạo ra quy trình hợp lý hơn để đào tạo và triển khai mô hình học tập AI trên thiết bị Apple.

Apple-MLX-AI-framework copy.jpg

Điểm đặc biệt và khác biệt của MLX so với các framework khác là tận dụng được unified memory, cho phép hoạt động trên bất kỳ thiết bị hỗ trợ nào mà không cần tốn thêm quá trình sao chép dữ liệu từ RAM qua RAM. Trên máy tính Apple, con chip M Series trang bị cả CPU lẫn GPU, chúng chia sẻ unified memory thay vì RAM cho CPU và VRAM cho GPU, tăng tính linh hoạt, tốc độ và giảm độ trễ. Thay vì thông thường phải mua máy tính hiệu năng cao rồi bổ sung GPU cao cấp có lượng VRAM lớn, người dùng chỉ cần mua máy tính Apple, xài unified memory cho mọi thứ.

Các nhà phát triển trước đây phải chuyển đổi mô hình qua CoreML để chạy với máy tính Apple, đương nhiên việc phụ thuộc vào 1 trình biên dịch sẽ không thể có được hiệu năng tối ưu nhất. CoreML làm nhiệm vụ chuyển đổi các mô hình ML có sẵn, tối ưu hóa cho thiết bị Apple, trong khi MLX có khả năng tạo và thực thi mô hình ML trực tiếp trên phần cứng Apple. Trước mắt thể hiện của MLX là khá tốt, tính tương thích với Stable Diffusion và Whisper của OpenAI cũng đáng kể, đồng thời hiệu quả của MLX vượt trội hơn PyTorch trong việc tạo hình ảnh trên nhóm kích thước lớn.

Do xu hướng về AI còn quá mới nên chúng ta chưa có các tiêu chuẩn nhất định. Anh em thấy có các mô hình tận dụng được CUDA của NVIDIA, có mô hình thì tương thích tốt hơn trên AMD GPU, do đó cần thêm thời gian để tất cả đi theo 1 hướng cụ thể, tính tương thích và linh hoạt cao hơn. Xét ở lý thuyết, unified memory sẽ có lợi thế hơn việc sử dụng RAM và VRAM hiện tại, khi khác biệt tốc độ, băng thông và độ trễ giữa RAM và VRAM khá cao. Không chỉ vậy, unified memory còn giảm bớt công đoạn khi thực thi tác vụ, cụ thể là sao chép dữ liệu giữa những loại bộ nhớ thiết bị khác nhau. Với dung lượng unified memory lớn sẽ có lợi cho huấn luyện mô hình AI và MLX sẽ cần thêm chút thời gian để trưởng thành, song song với đó là các framework khác hỗ trợ cũng như tương thích tốt hơn.
33 bình luận
Chia sẻ

Xu hướng

Nói chung là Apple đã đi trước các hãng khác khi xài RAM Unified Memory vừa nhanh, vừa tối ưu hiệu năng gấp đôi các loại RAM khác trên thị trường. Apple vẫn đi đầu trong việc triển khai AI
@sốt-siêu-vi-sốt-phát-ban-2024 Nó đi đầu đc là vì nó có mỗi mình nó là mac. Còn win thì bạn tưởng dễ áp dụng và cân bằng được P/P à.
@sốt-siêu-vi-sốt-phát-ban-2024 Giờ tôi hiểu sao mấy ảnh chụp của Lisa Su với Jensen Huang lúc nào cũng cười, ra là cười vô mặt cái comment này, có cục cứt mà đi đầu
@anh523110 Mấy thằng đầu đất cmt nghe hài dón ghê luôn. Nghe mà mắc i* luôn
@noloveonme toàn thấy mấy ô chửi ngta mà k thấy mấy ô phản biện lại nhỉ
@Nickydazy09 khứa này bài Apple thì nó vào khen Nvidia, bài Nvidia thì nó vào khen Mac, bài Android và khen iPhone, bài iPhone và khen Samsung... đa nhân cách như vầy không chửi cho nó tỉnh mà còn bỏ thời gian đi phản biện nó xong quay ra đa nhân cách với nó luôn chứ làm gì đâu ông
Unified cho phép GPU truy cập gần như full RAM, nên lí thuyết M3 Max 32GB ram giống như 1 con RTX 3070 24gb RAM
Apple chỉ ngon CPU thôi, GPU của Apple lởm thấy mịa. GPU của con M1 Ultra nhiều benchmark vẫn không bằng con GPU cùi bắp RTX 3060 của NVIDIA.
Unified Memory chỉ ngon ở 1 góc độ nào đó với các thuật toán cần copy qua lại CPU và GPU, nhưng vấn đề này hoàn toàn có thể giải quyết được bằng việc tối ưu thuật toán, đẩy tất cả sang GPU là xong. Nên Unified Memory đôi khi không cần thiết. Cái quan trọng nhất trong xử lý dữ liệu là băng thông tổng cộng, tức là tổng băng thông của RAM và VRAM cũng như kiến trúc xử lý, dung lượng cache để giảm thiểu việc truy xuất RAM.
Một vấn đề khác của Unified Memory là không thể tạo ra 1 hệ thống có sức mạnh lớn, người dùng chỉ có thể mua nhiều máy Mac về ghép song song, kết nối qua mạng LAN, trong khi hệ thống bình thường thì có thể gắn rất nhiều GPU trong cùng 1 máy, đem lại sức mạnh xử lý tăng lên đáng kể.
@vanthoan Ý hay quá. Nhất là đoạn cuối. Thanks bạn.
mrrdddddd
ĐẠI BÀNG
8 tháng
@vanthoan chuẩn, chơi AI thì cứ lựa Nvidia cho lành. AMD hay Apple j dẹp qua bên. Quá nhiều bất tiện và rủi ro tiềm ẩn. Ko phải ngẫu nhiên mà các cty AI đua nhau mua card Nvidia.
@vanthoan Unified sẽ tốt hơn về pin và hiệu năng khi chạy inference trên máy edge.

Còn chạy trên server, các hệ thống training thì cần sự linh hoạt, cần scale thì rõ ràng giải pháp GPU rời như hiện tại vẫn tốt hơn
@vanthoan Unified Memory cứ ví như 1 chiêu kinh doanh, marketing thổi phồng của Apple, thay vì trao cho người dùng 32GB RAM + 8GB GPU thì Apple gói lại thành 32GB UMA, khi minh họa thì có thể nói (VỀ LÝ THUYẾT) bạn có 32GB RAM VÀ 32GB GPU.
@vanthoan Vấn đề là ứng dụng trong trường hợp nào, ý đoạn cuối là chuẩn rồi!
Chơi game trên Macbook thì Unified Memory sẽ tối ưu giúp 8GB RAM bằng 16GB trên Laptop chạy Win khác
@centernc nhưng GPU của laptop chạy win nó cũng 4-6gb rồi, còn ram thì tầm 8gb-16gb nữa, đằng này apple tối ưu bộ nhớ cho cả gpu và cpu thật đáng sợ :v
@KingofWind1412 Tối ưu bằng cách cắt ram của hệ thống để thay thế cho vram :v
ngon nhưng mà nó mắc , nghĩ sao 40 củ cái laptop chỉ có 8gb ram bọ
@hoanglong0712 Ủa giờ mắc vậy hả bạn. Ghê thật.
Chip M ra mắt năm 2022 chạy LLM Studios vân nhanh hơn mấy con Core Ultra ra mắt 2024 là đủ hiểu. Bọn Intel chỉ được cái to mồm chứ hụt hơi dữ lắm rồi. Mình đang liên tưởng tới cuộc choi giữa Edison và Tesla năm đó😃
Mình thấy mấy máy chạy chip AMD vẫn dùng card RTX 1650, giá khoảng 13tr, cũng đc, mà nghe nói ăn điện quá
"ngược lại unified memory vẫn lưu trữ được dữ liệu kể cả khi không có điện"

xin nguồn cái này đi mod.
@TRÍ NEWTON 535 unified memory là non-volatile
còn RAM là volatile
thằng non là thằng cần điện dể thay đổi trạng thái ô nhớ
thằng volatile là thẳng cần điện để duy trì trạng thái ô nhớ.
Bác search trên google có hết thông tin về 2 loại này nhé
@TRÍ NEWTON 535 Mod sai hoặc dịch từ 1 bài sai đó bạn. 1 bên là kiến trúc máy tính, bên còn lại là kiểu RAM. Ko có chuyện cứ unified memory là non-volatile. M1 dùng LPDDR SDRAM. https://en.m.wikipedia.org/wiki/Apple_M1
Apple M1 - Wikipedia
en.m.wikipedia.org
@PReporter đúng thật, cụ thể như M1 thì dùng cái này https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested#:~:text=Besides the additional,s memory bandwidth.
The 2020 Mac Mini Unleashed: Putting Apple Silicon M1 To The Test
anandtech.com
@kemmet mình tìm theo bạn nói thì chỉ có 1, 2 bài nói vậy và không nói thêm gì cả.

thấy kì kì nên search thêm thì đa phần bảo dùng LPDDR thì vẫn là volatile thôi bạn.
https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested#:~:text=Besides the additional,s memory bandwidth.
The 2020 Mac Mini Unleashed: Putting Apple Silicon M1 To The Test
anandtech.com
Tưởng tượng khoảng 100000 con M3 Max train AI không cần cắm nguồn nó phê làm sao.
Giờ anti lôi cái bài render rút nguồn ra là vả vào mặt ngay :v
Ủa là nếu mua apple m3 8gb thì 8gb đó dùng cho cả CPU và GPU à, nó còn thấp hơn 12gb vram của mình nữa :v
@KingofWind1412 Về mặt lý thuyết, với Unified Memory, thì vùng RAM của CPU và GPU được share chung, không cần duplicate giữa RAM và VRAM, nên sẽ tiết kiệm được 1 vùng RAM nho nhỏ do CPU tạo ra. Tuy nhiên đây là cách hiểu sai!
Thực tế, khi dùng Unified Memory, sau khi CPU tạo ra 1 vùng RAM A và chuyển giao cho GPU xử lý, vùng RAM A sẽ chuyển sang trạng thái busy nên CPU không dùng được nữa, CPU buộc phải cấp phát thêm 1 vùng RAM B khác có kích thước tương đương rồi ghi dữ liệu vào đó. Như vậy CPU phải sử dụng gấp đôi bộ nhớ, vậy thì việc tiết kiệm RAM khi dùng Unified Memory là không chính xác.
Unified Memory có 1 ưu điểm nho nhỏ là CPU và GPU share chung RAM, nên sẽ tiết kiệm được 1 số mạch điều khiển cho PCI và RAM, nên sẽ rất phù hợp với các thiết bị di động.
@vanthoan trong này chuyên gia vi xử lý nhiều quá nhỉ! nói như đúng rồi, ưu điểm lớn nhất của unified ram là băng thông giữa cpu và gpu gần như tức thời
@QuanLyNhaNghi Phản biện cho ae biết thêm thông tin nào 😁 chứ nói ông kia "nói như đúng rồi" mà ko đưa ra được thông tin phản biện gì cả ?
@QuanLyNhaNghi Băng thông là nói đến lượng dữ liệu có thể chuyển qua được trong 1 giây, còn cái mà anh nói là gần như tức thời, ấy người ta gọi là latency, còn gọi là độ trễ, latency thì sẽ ảnh hưởng đến tốc độ của mỗi luồng xử lý, còn băng thông thì ảnh hưởng khi có nhiều luồng xử lý. Latency thì thông thường được tối ưu nhờ kiến trúc của bộ nhớ cache, nên latency của RAM thường không ảnh hưởng nhiều đến tốc độ xử lý. Tất nhiên việc đặt RAM sát vào con CPU sẽ giúp giảm đáng kể latency. Đấy là việc sắp đặt bộ nhớ, còn Unified Memory là khái niệm của Apple chỉ ra rằng, GPU và CPU xài chung bộ nhớ RAM. Chẳng liên quan gì đến việc buộc RAM phải nằm sát với CPU. Unified Memory không có nghĩa là low latency.
Katze
TÍCH CỰC
8 tháng
Thắc mắc là UM trên Mac có nhanh như VRAM của VGA không? Vì VGA lúc nào cũng dùng RAM tốc độ cao hơn.
@Katze M1 ultra băng thông RAM khoảng 800GB/s còn VGA 4090 thì khoảng 1024GB/s
RAM trên Mac băng thông cao vì nó có GPU, GPU rất cần băng thông RAM

Xu hướng

Bài mới










  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019