Thứ Năm, 6 tháng 9, 2018

Công nghệ GPU Turbo trên điện thoại Honor hoạt động ra sao? Họ có đang quảng cáo quá trớn?


GPU Turbo là tính năng được nói đến nhiều trên những chiếc điện thoại của Huawei và Honor, đặc biệt ở nước ta thì Honor sử dụng nó như là một trong những tính năng chủ chốt để quảng cáo cho sản phẩm của mình. Mẫu máy Honor Play sắp ra mắt cũng dùng GPU Turbo để làm cho trải nghiệm chơi game tốt hơn. Vậy tính năng này hoạt động ra sao và nó có thật sự giúp bạn chơi game mượt hơn hay không? AnandTech có một bài giải thích chi tiết và rất hay.
GPU Turbo dùng AI ra sao?

Về cơ bản, GPU Turbo sử dụng Tensorflow, một công cụ phát triển thuật toán AI do Google làm ra. Tensorflow rất nổi tiếng trong giới làm về AI và machine learning nên có thể tin tưởng được về hiệu quả cũng như khả năng của tính năng thông minh này. Một trong những công dụng thường thấy nhất của Tensorflow đó là nhận diện và phân loại hình ảnh, người ta cũng dùng Tensorflow để làm các mô hình (model) dự báo cũng như chạy thuật toán AI phức tạp.

Quay trở lại với Honor / Huawei, họ dùng Tensorflow để tạo ra một mô hình theo dạng neural network (NN). Neural network này thực chất là một loạt các thuật toán được chạy theo từng "lớp", cứ qua một lớp thì mô hình sẽ học được thêm một chút và có thể phân biệt giữa những tình huống khác nhau. Trong trường hợp của Honor, NN sẽ học cách mà game sử dụng tài nguyên hệ thống.

Đang tải CNN_FeaturesANDFeatureMaps_r004_600x428.jpg… 
Mô phỏng cách hoạt động của một neural network trong việc nhận diện kí tự hình ảnh

Nó giống với cách mà bộ não của chúng ta "đi học". Bạn được dạy về con mèo thì bạn sẽ nhận diện mèo từ từ bằng cách nhìn kích thước của nó trước, sau đó nhìn tới gương mặt con mèo, sau đó là đôi tai hay mắt, miệng của nó. Cũng dựa vào đây bạn biết được sự khác nhau giữa mèo và chó vì kích thước, gương mặt, đôi tai, mắt của chúng khác nhau.

Để có dữ liệu đầu vào cho mô hình Tensorflow, Honor đã chơi thực tế cũng như giả lập các tựa game này trong nhiều nghìn giờ khác nhau (theo đại diện của hãng). Sử dụng dữ liệu này, bộ engine có thể xây dựng và hiểu được cách game chạy: nó dùng nhiều GPU khi nào, khi nào thì có thể giảm tốc độ xuống, ở đoạn nào là đoạn nghỉ ngơi.

Đang tải Honor_Play.jpg…

Việc học hỏi này được tiến hành với từng tựa game và từng dòng điện thoại một chứ không phải áp dụng hàng loạt. Đó là lý do vì sao Honor không ra mắt GPU Turbo hàng loạt (kiểu như ép xung CPU, không cần AI gì cả) mà họ phải có thời gian để huấn luyện mô hình học hỏi dữ liệu của các series máy trước khi phát hành tới tay bạn.

Sau khi đã có mô hình, mô hình này sẽ được xuất thành một dạng file binary gọi là pre-trained model. Các file ứng với từng máy (thật ra là ứng với từng dòng SoC Kirin), từng tựa game sẽ được tích hợp vào trong firmware của điện thoại. Hệ điều hành sẽ gọi file này lên và thực hiện dự đoán khi bạn chơi game.

GPU Turbo tinh chỉnh cái gì?

Nãy giờ chúng ta nói về dữ liệu đầu vào, còn đầu ra thì sao? AI của Honor sẽ dùng mô hình ở trên dự báo xem game cần tài nguyên như thế nào rồi xuất ra một bộ số gọi là DVFS settings.

Dynamic voltage and frequency scaling (DVFS) là những chỉ số liên quan đến năng lượng và tốc độ mà một thiết bị điện toán sẽ dùng, cụ thể là CPU, GPU và những con chip khác có liên quan đến việc tính toán. Bộ số DVFS sẽ giúp máy hoàn thành được tác vụ X nào đó trong thời gian hợp lý với lượng điện tiêu thụ được tối ưu, và giảm lượng điện lại khi không cần thiết. Kĩ thuật DVFS được sử dụng trên tất cả mọi máy tính, điện thoại, TV... hiện nay.

Nói đâu xa, chế độ tiết kiệm pin của Android dùng DVFS để đưa máy về chế độ nghỉ khi bạn không xài và kích máy mạnh trở lại khi bạn cầm điện thoại lên đấy. Chế độ turbo trên CPU của Intel và AMD hay Qualcomm, MediaTek cũng hoạt động theo nguyên lý tương tự.

Đang tải Consumption-with-DVFS-off-top-and-with-DVFS-on-bottom-using-hybrid-strategy.png…
Ví dụ về cách mà DVFS có thể giảm năng lượng hao phí. Ở trên là khi tắt DVFS, ở dưới là bật DVFS trên một con chip

Cái mà GPU Turbo của Honor làm khác đi so với việc tăng xung nhịp từ chip đó là bộ số DVFS sẽ được tối ưu theo từng game! Nhiệm vụ của mô hình AI nói trên sẽ là tính toán sao đó để chỉ số DVFS có thể điều khiển được CPU, GPU và RAM ở mức luôn duy trì được tốc độ khung hình cao (ví dụ: 60fps). CPU, GPU, RAM sẽ đạt mức hiệu năng vừa đủ cho yêu cầu này, không cao hơn, cũng không thấp hơn.

Trang AnandTech nói rằng trên điện thoại Honor có một số lớp trung gian để kiểm soát việc dựng hình giữa phần mềm với GPU (rendering call). Các khung hình đi qua sẽ được GPU Turbo tính toán để đưa ra DVFS tối ưu rồi áp dụng tinh chỉnh trực tiếp vào phần cứng.

GPU Turbo sẽ hoạt động hiệu quả hơn với những con chip có bộ xử lý trí tuệ nhân tạo riêng, thứ mà Honor gọi là Nerual Processing Unit (NPU). Nó nằm chung đế chip với CPU, GPU trên con chip Kirin (Kirin cũng do HiSilicon, một công ty con của Huawei sản xuất). Trong những thế hệ chip mới NPU mạnh hơn thì thuật toán chạy càng nhanh hơn.

Hạn chế của GPU Turbo

Do mô hình AI của GPU tối ưu phần cứng theo từng game một nên nếu muốn tối ưu cho một tựa game mới, nhà sản xuất sẽ phải thu thập dữ liệu, huấn luyện lại nó rồi phát hành một bản cập nhật cho người dùng. Nó không (chưa) đủ linh hoạt để có thể áp dụng cho mọi game. Và do mô hình này cũng khác nhau tùy theo chip SoC nêu với các máy mới thì Honor lại phải huấn luyện lại nữa.

GPU Turbo 1.0 chỉ mới áp dụng được với vài tựa game như PUBG, Mobile Legends: Bang Bang, lên tới GPu Turbo 2.9 thì hỗ trợ thêm NBA 2K18, Rules of Survival, Arena of Valor, Vainglory...

Một cách khác mà Honor có thể áp dụng đó là tạo ra một mô hình chung áp dụng cho mọi game, nhưng như vậy sẽ cần dữ liệu đầu vào rất lớn, thời gian huấn luyện cũng lâu hơn, file model cũng bự hơn và chưa chắc có thể tối ưu như mức của GPU Turbo. Lúc này, việc sử dụng cơ chế tăng giảm xung có sẵn của SoC có khi còn hay hơn.

Đang tải honor10_gputurbokv_vie_zema.png…

Vấn đề của GPU Turbo: marketing quá trớn

Trang AnandTech không kiếm được cùng 1 dòng thiết bị mà có và không có GPU Turbo, máy Honor nào họ cầm cũng được bật sẵn GPU Turbo hết. Thế nên họ thực hiện so sánh Huawei P20 với Honor Play do chúng có cùng cấu hình, cùng SoC Kirin 970, chỉ khác vỏ ngoài mà thôi. Chiếc P20 không có GPU Turbo, Honor Play thì có.

Khi đo số khung hình / giây bằng mắt thường, AnandTech nhận xét là khó thấy được sự khác biệt. PUBG đều nhảy lên trên 40fps. Chiếc Honor Play có lợi thế hơn về mặt tiêu thụ điện năng khi sử dụng khoảng 3,9W điện trong quá trình render hình ảnh, còn P20 thì dùng đến 4,7W.

Mức chênh lệch này cỡ 15%, và khi so sánh với slide trình diễn về GPU Turbo của con chip Kirin 980 sắp ra mắt thì khá là khớp. Tuy nhiên, con số này vẫn thấp hơn nhiều so với mức 30% được nói tới trong các tài liệu marketing về GPU Turbo, ví dụ như trong ảnh bên dưới chụp từ website của Honor.

Đang tải screenshot_gpu_turbo.jpg…

Về con số hiệu năng tăng 60%, Honor giải thích đó là họ so sánh Kirin 970 + GPU Turbo so với Kirin 960 đời cũ. Đây chính là vấn đề. Kirin 960 được AnandTech đánh giá là khá tệ, tức là Honor đang so sánh với mức thấp nên số cao. Nếu đứng riêng thì cặp số 30% + 60% này nghe rất ấn tượng, nhưng khi biết rõ việc so sánh là với Kirin 960 thì mọi thứ thay đổi hoàn toàn.

Và đây cũng không phải là cách hay để làm marketing vì nó có thể đánh lừa người dùng.

Kết

GPU Turbo thật sự là một công nghệ thú vị, và AnandTech cho rằng nó có thể giải quyết được một số nhược điểm của chip Kirin. Kirin hiện vẫn còn bị Snapdragon bỏ xa về hiệu năng và mức độ tiêu thụ năng lượng nên GPU Turbo được sinh ra. Và tất nhiên, những con chip Kirin hiện tại không thể nào so được với hiệu năng của những dòng cao cấp như Snapdragon 845 cả.

"Tuy nhiên, đa số những cái hay về công nghệ của GPU Turbo đã bị những con số marketing thái quá làm lu mờ."

Nguồn: AnandTech

Không có nhận xét nào:

Đăng nhận xét