Intelligent Edge, mọi thiết bị rồi sẽ thông minh hơn?

Phi Huynh
Azure Vietnam
Published in
4 min readNov 21, 2018

Chưa bao giờ thế giới công nghệ lại thay đổi nhanh và có ảnh hưởng đến cuộc sống chúng ta một cách sâu rộng đến vậy. Với xu hướng chuyển đổi số diễn ra chóng mặt, chúng ta thấy các ông lớn công nghệ đang “mở khóa” nhiều tiềm năng mà chúng ta khó có thể nghĩ tới trước đây. Nếu như hơn 10 năm về trước Trí Tuệ Nhân Tạo (AI) chỉ là mỹ từ anh em công nghệ nói với nhau vui thôi chứ không có cơ hội trải nghiệm, thì bây giờ nó đã hiển hiện trước mắt. Ai cũng có cơ hội thực hành và sử dụng thử, nếu có kinh nghiệm về AI chúng ta có thể tự build model cho mình; không có thì API cũng sẳn có và rất dễ dùng. Ví dụ với Microsoft Cognitive Services, anh em có thể dễ dàng truy cập API để truy xuất các dịch vụ thông minh như: phân tích ngữ cảnh, phân tích văn bản, ngôn ngữ, phân tích khuôn mặt …

Và hiện tại thì Azure còn mở ra một tương lai có thể biến các thiết bị đầu cuối trở nên thông minh hơn, đó là anh em có thể mang các model chạy trên container ở đầu cuối, sẽ giúp cho các thiết bị sẽ “tự thân” trở nên thông minh hơn mà không cần nhờ đến các API từ xa như trước đây. Nghĩa là chúng ta sẽ nhúng các “bộ não thông minh” vào các thiết bị.

Hôm nay chúng ta sẽ thử nghiệm xem chúng hoạt động ntn nhé.

Sign-up Azure Account

Mặc dù container chạy ở thiết bị đầu cuối (ví dụ, có thể là máy ảo, thiết bị edge gateway, thậm chí IoT device như Raspberry Pi, …), nhưng anh em vẫn cần Azure Account vì Microsoft sẽ tính tiền trên số lần gọi, do vậy, Azure sẽ cấp API key để khi query thì thông tin sẽ được gửi lên Azure. Tôi vẫn thắc mắc là Microsoft sẽ tính tiền thế nào trong trường hợp mạng bị đứt kết nối. Do vậy anh em tạo Azure account để bắt đầu nhé.

Lấy access key

Để lấy access key, anh em tạo ra một cognitive service, ví dụ là Text Analytics

Tạo một cognitive service trên Azure (ví dụ là Text Analytics)

Sau khi tạo cognitive service, anh em sẽ lấy api key để sử dụng trong container ở bước sau.

Giúp thiết bị thông minh hơn với Cognitive Services Containers

Containerization giờ phổ biến quá đúng không ạ? Cái quái gì cũng là container cả, 2 năm nay hầu hết các sản phẩm phần mềm tôi viết ra đều hỗ trợ container (chạy trên Docker / Kubernetes). Do vậy cách tiếp cận dùng container để chạy các AI model cũng không có gì là ngạc nhiên.

Để chạy một cognitive service container, anh em cài Docker trước nhé. Sau đó thì kéo các image “siêu thông minh” về và xài thôi :)

Kéo image về máy

Bên dưới là một số image đang có để có thể thử, anh em cần cái nào kéo cái đó, ko nhất thiết phải kéo hết.

$ docker pull mcr.microsoft.com/azure-cognitive-services/keyphrase
$ docker pull mcr.microsoft.com/azure-cognitive-services/language
$ docker pull mcr.microsoft.com/azure-cognitive-services/sentiment

Khởi tạo container và sử dụng model

Sau khi đã pull image về máy thì anh em khởi tạo container bằng lệnh sau.

$ docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 mcr.microsoft.com/azure-cognitive-services/sentiment Eula=accept Billing=https://southeastasia.api.cognitive.microsoft.com/text/analytics/v2.0 ApiKey=8509f0c10c7b4e97a0ede78e9436042a

Chú ý:

Sau khi chạy xong thì mở trình duyệt truy cập http://0.0.0.0:5000 kiểm tra xem okie ko nha. Nếu kết quả như hình là okie đó :)

Và OpenAPI với Swagger qua địa chỉ http://0.0.0.0:5000/swagger

Rồi, sử dụng thử thôi. Điểm thú vị là ngoài cách sử dụng Postman / CURL để query OpenAPI, cũng có thể dùng Azure Cognitive Services Text Analytics SDK để gọi vì nó tương thích luôn :)

Trong ví dụ bên dưới tôi sử dụng postman để thử với câu đầu vào là Azure Vietnam is a very good community :)

Và kết quả là 0.9999999… nghĩa là rất positive, nếu <0.5 nghĩa là negative, từ đó anh em có thể biết đoạn text đó có ý đồ “nói xấu” không :)

Vậy đó, chỉ vài bước là anh em có thể trải nghiệm AI như một data scientist mà không phải biết nhiều, thậm chí còn cho nó chạy ở thiết bị đầu cuối.

Chúc anh em may mắn.

--

--