- Khi Deep learning gặp Edge computing
Khi Deep learning gặp Edge computing
Nếu như những năm 2010 cụm từ “cloud computing” (tạm dịch là tính toán trên mây) xuất hiện dày đặc trên mặt báo và các hội thảo lớn nhỏ thì trong những năm gần đây, khái niệm “edge computing” (tạm dịch là tính toán ở rìa) đang ngày càng thu hút sự chú ý. Thật vậy, theo báo cáo của Gartner, một công ty chuyên về nghiên cứu và tư vấn công nghệ, edge computing sẽ bùng nổ trong 2 đến 5 năm tới (Hình 1). Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu sơ lược khái niệm edge computing, mối liên hệ giữa deep learning và edge computing, nguyên nhân dẫn đến sự bùng nổ của edge computing cũng như các ứng dụng hiện tại và tương lai của nó. Cuối cùng, một số nghiên cứu mới nhất về deep learning trên edge sẽ được giới thiệu sơ qua.
1. Edge computing là gì?
Edge computing là một khái niệm dùng để chỉ việc xử lí các tác vụ được thực hiện trực tiếp trên các thiết bị di động, hay còn được gọi là các thiết bị edge. Đặc điểm của các thiết bị này thường nhỏ, gọn, và sử dụng ít năng lượng. Ngược lại với việc edge computing là cloud computing, nơi mà mọi thông tin từ các thiết bị phải được gửi về cloud để xử lí. Sau khi xử lí xong, cloud sẽ gửi trả kết quả về các thiết bị đó. TODO: so sánh edge computing và cloud thì nên để đối tượng so sánh giống nhau. Vế trước : qui mô của device, vế sau: cách cloud xử lý thông tin
Edge computing thật ra đã được ứng dụng phổ biến trong cuộc sống hàng ngày nhưng chúng ta có thể không để ý. Ví dụ như: __TODO: ở đoạn trước nên thêm một phần nhỏ nói là tại sao cần phải có edge computing. Như thế thì mới hiểu dc là tại sao ở các ví dụ này, họ lại làm như thế __
- Camera an ninh thường nén video lại để tiết kiệm băng thông trước khi truyền về trung tâm. Chuẩn nén có thể là motion JPEG, H.264, hoặc mới nhất hiện nay là H.265. Nếu camera truyền video với tốc độ 24 frame/s và chất lượng full HD ở dạng thô, băng thông tiêu tốn sẽ lên đến 1.14 Gb/s (1920 x 1080 x 3 bytes x 24 frame/s = 142 MB/s = 1.14 Gb/s). Nếu video được nén lại theo chuẩn H.264, băng thông tiêu tốn khi này chỉ khoảng 10 Mb/s, tức là giảm khoảng 114 lần. TODO: nén lại theo chuẩn H.264 thì data giảm như thế nào ??
- Điện thoại thông minh cho phép chúng ta thực hiện thanh toán tự động khi mua sắm. Các điên thoại khi này không bắt buộc phải được kết nối với máy chủ mà nó đóng vai trò như một gateway chứng thực người dùng. Các điện thoại thông minh còn có thể giúp quản lí sức khỏe của người sử dụng thông việc qua đo nhịp tim, số bước đi, lượng đồ ăn hàng ngày, … TODO: chỉ thấy dc là smartphone là một data collector, chưa thấy computing ở chỗ nào
Nhìn chung, các thiết bị edge có khả năng trực tiếp xử lí một số tác vụ dựa vào các tài nguyên sẵn có của nó, thay vì phải gửi về cloud và đợi kết quả trả về . Nhờ đó, chúng ta có thể tiết kiệm đáng kể băng thông cũng như thời gian chờ xử lí TODO : tôi nghĩ câu này để lên trc các ví dụ thì người đọc sẽ hiểu dc tại sao laị có edge computing . Mặc dù đã được sử dụng trong một thời gian dài, nhưng nó chỉ mới được đề cập nhiều trong những năm gần đây. Hãy cùng nhau tìm hiểu lí do trong phần kế tiếp sau đây.
2. Tại sao edge computing lại “hot” trong những năm gần đây?
Nếu chúng ta tưởng tượng edge computing như một quả tên lửa, thì ba động cơ chính của nó là công nghệ bán dẫn (semiconductor), Internet-of-Things (IoT), và machine learning mà nổi bật là deep learning (Hình 2). TODO: ý của ông là do 3 ngành đấy có đà phát triển nên đẩy edge computing đi lên ? nếu thế thì thêm vào đoạn này nhé
a) Sự phát triển của công nghệ bán dẫn (semiconductor):
Các chip hiện đại ngày nay không chỉ chứa nhiều cores mà còn được tích hợp các bộ xử lí chuyên dụng như bộ xử lí nén và giải nén video, các bộ xử lí mã hóa giải mã cho Wifi và Bluetooth, các bộ chuyển đổi tín hiệu từ số sang tương tự và ngược lại. Các chip này được gọi tên chung là SoC (System-on-chip hay Hệ thống trên chip). Bên cạnh việc tăng hiệu năng, giá thành của chip SoC ngày càng giảm TODO: tôi nghĩ nên thêm dẫn chứng để chứng minh ý này. Đoạn dưới có ví dụ về Raspberry Pi Zero thì mình có thể lấy luôn dòng Raspberry PI đời đầu để so sánh. Nhờ vậy, các chip này ngày càng được sử dụng rộng rãi.
Ví dụ: chip SoC trên board Raspberry Pi Zero W (Hình 3) không chỉ tích hợp 1-GHz ARM core và 512 MB bộ nhớ RAM mà còn có bộ nén và giải nén full HD, 802.11 b/g/n wireless LAN, và Bluetooth năng lượng thấp. Tuy nhiên, giá thành của một board chỉ vào khoảng 10 USD.
Nói tóm lại, sự phát triển của công nghệ bán dẫn, đặc biệt là khả năng tính toán ngày càng tăng của các chip SoC, đã tạo điều kiện cho edge computing có thể được thực hiện dễ dàng hơn. __TODO: ở đoạn này tôi vẫn chưa h iểuđược là ban đầu edge computing gặp những vấn đề gì và vì sao phần cứng phát triển lại tạo điều kiện cho edge computing vượt qua trở ngại đó. Ý ông có phải là hồi xưa để chạy một task A (nén video ) thì cần chừng này phần cứng với chừng này tiền, nhưng giờ chỉ cần một con raspberry với giá 10 đô là đủ chạy ??? __
b) Sự phát triển của IoT:
Trong thế giới ngày nay, chúng ta đã không còn xa lạ việc các thiết bị điện tử có thể giao tiếp trực tiếp với nhau hoặc thông qua các servers TODO: ông đang giải thích IoT là gì ? một câu thế này hơi ngắn và khó hiểu. Ví dụ, trong nông nghiệp thông minh (Hình 4), các thiết bị dùng để thu thập nhiệt độ, độ ẩm, ánh sáng, phân bón, … được kết nối mạng với nhau để từ đó người nông dân biết được tình trạng cây trồng và có chế độ chăm sóc phù hợp. Tùy theo quy mô và yêu cầu cụ thể mà các mạng này có thể chứa từ vài trăm đến vài chục nghìn thiết bị như vậy. Nhờ vào công nghệ vi mạch (TODO: ở trên là công nghệ bán dẫn, dưới đã thành vi mạch rồi …) phát triển, giá thành chip ngày càng rẻ, nên việc triển khai hàng chục nghìn thiết bị không phải là một việc quá khó khăn. TODO: ông đang giải thích về ứng dụng của IoT trong nông nghiệp, nếu chỉ kết ở đoạn “không phải là một việc quá khó khăn” thì không rõ được cái ý “phát triển của “IoT
TODO: tôi nghĩ nên thêm một câu tổng hợp ở trước là: “việc ứng dụng IoT nói chung gặp 2 trở ngại lớn là power consumption và băng th”ông Tuy nhiên, khi một loạt thiết bị cùng gửi trả tín hiệu về cùng một lúc sẽ dẫn đến nguy cơ nghẽn mạng. Các thông tin đã gửi đi có thể sẽ không đến được thiết bị mong muốn. Khi đó, mỗi thiết bị sẽ phải gửi đi gửi lại cùng một dữ liệu nhiều lần, dẫn đến việc tiêu tốn năng lượng. Nếu như các thiết bị này có thể xử lí tín hiệu thu thập được và chỉ gửi đi các thông tin cần thiết (ví dụ chỉ gửi thông tin nhiệt độ khi nhiệt độ cao hơn ngưỡng cho trước), chúng ta sẽ tiết kiệm được băng thông, từ đó tiết kiệm được năng lượng tiêu tốn. Nói cách khác, sự phát triển của IoT gắn liền với sự cần thiết của edge computing.
c) Sự phát triển của deep learning.
Mặc dù đã ra đời từ rất lâu, machine learning, mà đặc biệt là mạng neural chỉ mới thật sự nổi lên từ năm 2012 sau màn trình diễn đầy ấn tượng của AlexNet. Lần đầu tiên, một mạng deep neural chứng tỏ được hiệu năng vượt trội so với các phương pháp machine learning truyền thống dùng rút trích đặc trưng bằng tay TODO: là sao ông ơi ???. Thành công của deep learning còn có sự góp phần đáng kể của công nghệ bán dẫn, mà cụ thể là các GPUs. Thật vậy, nhờ có GPUs mà thời gian training cho các mạng deep neural được rút ngắn đi nhiều lần so với việc dùng các CPUs truyền thống. TODO: tôi nghĩ đoạn này nên để dưới đoạn giải thích ví dụ sẽ dễ hiểu hơn
Một trong những xu hướng hiện tại là làm cho các thiết bị IoT ngày càng thông minh nhờ vào machine learning hoặc deep learning. Cùng nhau xem lại các ví dụ ở Mục 1, chúng ta có thể thấy:
- Camera ngày càng thông minh hơn: thay vì chỉ truyền video về server, camera trong các xe thông minh có thể phát hiện và nhận dạng vật cản, từ đó đưa ra các cảnh báo hoặc ngừng khẩn cấp. Các cảnh báo này phải được xử lí trong thời gian cực nhanh nên thông tin thu nhập cần phải được xử lí tại edge, thay vì tại server (Hình 6). Ví dụ, một xe chạy tốc độ 60 km/giờ = 16.7 m/giây, hay cứ 1 giây di chuyển được 16.7 m. Độ trễ xử lí khi này phải tính bằng mili-giây chứ không thể nào bằng giây được.
- Các điện thoại thông minh ngày nay có thể được bảo mật bằng vân tay, giọng nói, mống mắt, … Các xử lí này được thực hiện trực tiếp trên chip SoC trong điện thoại. Ngoài ra, các trợ lí ảo như Google Now có thể trả lời truy vấn mà không cần kết nối với server. Nếu các thiết bị này gửi về server xử lí, tùy theo chất lượng kết nối mà thời gian chờ có thể tính bằng vài chục giây, gây ra nhiều bất tiện cho người dùng.
- Các thiết bị kiểm soát bệnh liên quan đến não hoặc tim cũng cần xử lí trực tiếp. Ví dụ, người bênh động kinh cần phải đeo một thiết bị chuyên dụng bên người. Nếu não người bệnh bị nhiễu loạn, các cơn co giật sẽ xuất hiện. Lúc này các thiết bị sẽ phải tự động phát hiện và phát ra các xung điện kích vào não để triệt tiêu các cơn co giật. Các cơn co giật này đặc biệt nguy hiểm khi người bệnh đang lái xe hoặc làm các công việc có tính chất nguy hiểm. Do vậy, các thiết bị cần phải có độ trễ trong xử lí cực thấp, thường dưới 1 giây. TODO: cái này không có ở mục 1 , ông thêm vào mục 1 nhé
Nhìn chung, sự tiến bộ vượt bậc của công nghệ bán dẫn cũng như sự bùng nổ của IoT và deep learning trong thời gian gần đây đã tạo điều kiện cho edge computing phát triển. Theo dự đoán của Gartner (Hình 1), edge computing đang là xu hướng phát triển trong vòng 5 năm tới TODO : đoạn trên là từ 2-5 năm mà ?. Các nghiên cứu cho edge computing, đặc biệt là deep learning trên các thiết bị edge do vậy cũng sẽ tăng theo. Trong phần dưới đây, chúng ta sẽ cùng điểm qua một số nghiên cứu mới nhất cho deep learning trên thiết bị edge.
3. Các hướng nghiên cứu cho deep learning trên edge
a) Cải tiến về model:
Deep learning truyền thống đòi hỏi nhiều tính toán trong khi các thiết bị edge thường bị giới hạn bởi năng lượng (thời lượng pin) cũng như khả năng xử lí (CPU và RAM thường không quá cao). Do vậy, các model cần phải được tối ưu theo hướng nhỏ gọn và giảm yêu cầu tính toán. Các cải tiến hay dùng gồm:
- Train các weight ở dấu chấm tĩnh (1, 2, 4, 8, 16-bit fixed point) thay vì dấu chấm động (32-bit floating point).
- Lượng tử hóa các weight để giảm kích thước model.
- Do ReLU và dropout ngày càng được sử dụng rộng rãi, các mạng neural ngày càng thưa (sparse). Khi này các weight bằng 0 sẽ ngày càng nhiều.
Xử lí các phép nhân với số 0TODO: ý ông là ? nhân với số 0 thì ra 0 rồi còn gì? hoặc nén các weight trở nên cấp thiết. - …
Các cuộc thi về model deep learning công suất thấp (TODO: model deep learning công suất thấp là gì?) cũng thu hút nhiều sự chú ý, ví dụ như cuộc thi Low-Power Image Recognition Challenge (https://rebootingcomputing.ieee.org/lpirc). Một trong những đội thắng giải năm nay đã cải tiến model MobileNet của Google để giảm khối lượng tính toán cũng như giảm năng lượng tiêu tốn.
b) Cải tiến về hardware:
Các chip SoC truyền thống thường không được thiết kế tối ưu cho các ứng dụng deep learning dẫn đến thời gian tính toán sẽ tăng không đáp ứng được thời gian thực. TODO: đoạn này ý bị cụt rồi, ý ông là : thiết kế các hardware riêng biệt phục vụ cho tính toán deep learning
Năm 2016, nhóm nghiên cứu của GS. Vivienne Sze tại đại học MIT công bố và demo Eyeriss, chip xử lí CNN đầu tiên trên thế giới, tại hội nghị ISSCC (được coi như là “Oscar” của công nghệ bán dẫn thế giới). Chip này cho hiệu năng vượt trội so với GPU dùng trong các điện thoại di động, trong khi tiết kiệm năng lượng hơn gấp nhiều lần. Kể từ đó, hằng năm có ít nhất 10 đến 20 chip liên quan đến deep learning được giới thiệu tại ISSCC. Apple cũng vừa thương mại hóa chip SoC có xử lí IPCore deep learning trong năm 2017.
4. Kết luận
Bài viết này mong muốn cung cấp đến bạn đọc các khái niệm cơ bản về edge computing, nguyên nhân dẫn đến sự bùng nổ của deep learning trên các thiết bị edge cũng như các ứng dụng hiện tại và tương lai. Các nghiên cứu về hướng này đang và sẽ rất hot trong thời gian tới. Các bài viết tiếp theo sẽ cung cấp kĩ hơn các nghiên cứu cũng như phương pháp triển khai deep learning trên các thiết bị edge. TODO câu ở mục 1 là : “ nguyên nhân dẫn đến sự bùng nổ của edge computing cũng như các ứng dụng hiện tại và tương lai của nó.”, mở bài với kết nên để giống nhau nhé
Nguyễn Xuân Thuận.