Danh mục sản phẩm

Công nghệ

Review

Hướng dẫn

Tuyển dụng

Tin tức khuyến mại

Tin tức build PC

Làm thế nào để lựa chọn một nền tảng AI phù hợp nhất?

khanhninh 02-01-2021, 4:51 am

Ngày càng có nhiều ứng dụng AI. Hầu hết framework hoặc nền tảng phát triển là mã nguồn mở. Làm thế nào để người mới bắt đầu có thể chọn một môi trường phát triển phù hợp với họ?

  • Đối với môi trường phát triển sử dụng Linux làm hệ điều hành, nó có thể được chia thành phần mềm quản lý, nền tảng phát triển (development platforms) và  frameworks theo hệ thống phân cấp.
  • Phần mềm quản lý thường đề cập đến quản lý phần cứng, Python và các hệ thống giám sát và quản lý phiên bản công cụ khác, trong đó phổ biến nhất là Kubernetes, Docker hoặc Anaconda.
  • Nền tảng phát triển là một hệ thống cấp cao hơn. Chức năng chính của nó là cung cấp môi trường để người dùng viết chương trình dễ dàng. Thông thường, nó bao gồm Jupyter Notebook, JupyterLab, PyCharm hoặc Visual Studio Code.
  • Framework là một bộ công cụ phát triển triển khai học máy hoặc học sâu ở cấp độ cao hơn. Có rất nhiều loại framework, và có những nền tảng phù hợp theo thói quen cá nhân hoặc loại ứng dụng, chẳng hạn như TensorFlow, PyTorch hoặc Caffe, sẽ được giới thiệu dưới đây tùy theo môi trường người dùng khác nhau.

Có rất nhiều phần mềm quản lý, nền tảng phát triển hoặc framework, vì vậy chúng tôi sẽ không giới thiệu tất cả từng cái một trong bài viết này. Chúng tôi sẽ chỉ tập trung vào môi trường AI phù hợp nhất cho các loại người dùng khác nhau.

Nhà phát triển cá nhân - Individual Developer

Môi trường nhà phát triển cá nhân chủ yếu cài đặt hệ thống ở đầu cục bộ. Người ta thường thiết lập Anaconda trong hệ thống để chuyển đổi giữa và quản lý các dự án. Anaconda cài đặt khung học sâu thông qua cài đặt pip.

Ưu điểm:

  • Có thể chuyển đổi giữa các phiên bản Python hoặc framework khác nhau

Nhược điểm:

  • Yêu cầu dung lượng ổ cứng lớn
  • Một số Preinstallation Kit được cài đặt sẵn có thể hoàn toàn không được sử dụng
  • Khi các phiên bản của CUDA Toolkit có thể được sử dụng cho nhiều phiên bản của framework khác nhau, nhà phát triển phải chuyển đến môi trường ảo của từng phiên bản framework để định cấu hình cài đặt môi trường CUDA Toolkit.

Những nhược điểm trên rất dễ gặp phải bởi các nhà phát triển cá nhân. Ví dụ: dự án trước có thể sử dụng TensorFlow 1.12 và CUDA Toolkit phiên bản 10.0, nhưng dự án mới sử dụng TensorFlow 1.15. Tại thời điểm này, bạn phải nâng cấp phiên bản CUDA Toolkit lên 10.2. Khi cả dự án cũ và dự án mới có thể được thực hiện cùng một lúc, phiên bản CUDA Toolkit được sử dụng bởi cả hai phải được đặt riêng biệt trong hai môi trường ảo.

Do đó, theo Leadtek AI Expert, họ khuyên nên sử dụng Docker làm phần mềm quản lý. Docker bao gồm những lợi thế của Anaconda và nó giúp tiết kiệm những phức tạp khi thiết lập môi trường.

Ưu điểm:

  • Các môi trường phát triển khác nhau bao gồm một hệ điều hành nhẹ, như máy ảo; mỗi người có một môi trường phát triển độc lập
  • Có các phiên bản nguồn mở chính thức của các framework chính thống có thể được tải xuống trực tiếp từ Docker Hub, loại bỏ các quy trình cài đặt phức tạp
  • NVIDIA cung cấp công cụ plugin nvidia-docker và các dịch vụ Docker có thể bao gồm tài nguyên GPU.
  • Có thể kết hợp với các nền tảng phát triển chung như Jupyter Notebook hoặc Visual Studio Code.

Có bất kỳ nhược điểm hoặc biện pháp phòng ngừa nào khi sử dụng Docker không?

Môi trường Docker chứa hệ điều hành (nhẹ), nền tảng phát triển và Framework nói trên. Môi trường thường chiếm 4-7GB dung lượng. Nếu tiếp tục cài đặt gói, nhiều dung lượng ổ cứng sẽ bị tiêu tốn. Đây là điều quan trọng cần lưu ý trong việc thiết lập bất kỳ môi trường ảo nào.

Đối với lựa chọn Jupyter Notebook hoặc Visual Studio Code cho lớp trên, cả hai đều có người dùng riêng. Ưu điểm của Visual Studio Code là nó kế thừa những ưu điểm của nền tảng Visual Studio và dễ gỡ lỗi, còn Jupyter Notebook có chức năng phát triển và chú thích mạnh mẽ để dễ dàng hướng dẫn. Ngày nay, Visual Studio Code có thể được kết hợp với Jupyter Notebook, đây là một điểm cộng lớn cho các nhà phát triển.

(tham khảo Jupyter Notebook : https://code.visualstudio.com/docs/python/jupyter-support )

Đối với các framework học sâu, mỗi framework đều có những người dùng và chức năng theo thói quen, điều này sẽ không được giới thiệu chi tiết trong bài viết này. Tuy nhiên, các framework mà hầu hết các nhà phát triển hiện đang sử dụng đều là TensorFlow và PyTorch. Trước đây được phát triển và duy trì bởi nhóm Google; nó cũng hỗ trợ nhiều ngôn ngữ và hiện là Framework được sử dụng nhiều nhất. Sau này được phát triển cho nhóm AI của Facebook. Cũng có nhiều người ủng hộ, nên nó đã phát triển nhanh chóng trong hai năm qua và có động lực để bắt kịp với TensorFlow. Bất kể framework nào được sử dụng, Python vẫn là ngôn ngữ lập trình được yêu cầu nhiều nhất để phát triển AI.

Đơn vị nghiên cứu nhỏ

Các đơn vị nghiên cứu nhỏ thường có nhóm phát triển AI từ 2 đến 10 người. Học sâu tiêu tốn một lượng lớn tài nguyên phần cứng trong quá trình xây dựng mô hình, trong đó phần cứng quan trọng nhất là GPU. Tài nguyên GPU rất quan trọng đối với tiến trình làm việc nhóm trôi chảy.

Phần mềm quản lý được đề xuất nhiều nhất cho các nhóm nhỏ cũng là Docker. Ngoài việc phân bổ tài nguyên phần cứng như GPU, CPU và RAM cho các vùng chứa ảo, Docker cũng bao gồm quản lý phiên bản ứng dụng và framwork. Nếu không có phần mềm quản lý phần cứng, tài nguyên hệ thống đa GPU rất khó phân bổ (nếu không chỉ định GPU, hoạt động thường được thực thi bởi GPU có ID 0) hoặc nhóm cần giao tiếp tài nguyên phần cứng đã sử dụng trước, nếu không thì dễ dàng rằng một số GPU sẽ được sử dụng trước hoặc chạy không tải.

Docker có thể giải quyết tình huống này thông qua việc cấp phát tài nguyên phần cứng trước (như hình bên dưới). Khác với Kubernetes thường được sử dụng trong các doanh nghiệp lớn, các máy ảo Docker khác nhau có thể được cấu hình trên cùng một bộ phần cứng GPU, do đó tài nguyên phần cứng có thể được sử dụng hiệu quả hơn.

Đối với sự lựa chọn nền tảng phát triển, nó giống như tình huống của các nhà phát triển cá nhân. Người dùng có thể chọn Visual Studio Code hoặc Jupyter Notebook tùy theo thói quen phát triển cá nhân.

Nếu cân nhắc rằng các chương trình đang phát triển sẽ được đưa vào giảng dạy, Jupyter Notebook có thể được sử dụng làm tài liệu giảng dạy vì nó có thể thực thi mã theo khối và dễ dàng viết chú thích.

Tuy nhiên, nếu nó dựa trên sự phát triển hệ thống dự án, thì chức năng gỡ lỗi của Visual Studio Code phù hợp hơn để phát triển hệ thống.

Bất kể các bạn chọn nền tảng hoặc công cụ nào, điều quan trọng nhất là các nhà phát triển có thể tập trung vào R & D và phát triển các mô hình và hệ thống. Phần cứng hoặc phần mềm quản lý khác có thể được giao cho quản trị viên hệ thống của nhóm. Do đó, Docker là một lựa chọn rất phù hợp. Liên kết cài đặt Docker cũng được đính kèm bên dưới. Hãy nhớ cài đặt Docker Engine trước khi cài đặt gói nvidia-docker.

Hướng dẫn cài đặt Docker Engine:  https://docs.docker.com/install/

Hướng dẫn cài đặt nvidia-docker :  https://github.com/NVIDIA/nvidia-docker

 

Bài viết liên quan

Đánh giá Intel Core Ultra 5 245K: Cân bằng giữa giá thành và hiệu năng

Đánh giá Intel Core Ultra 5 245K: Cân bằng giữa giá thành và hiệu năng

23-10-2024, 11:31 am

Trong bài viết này, Nguyễn Công PC sẽ đánh giá chi tiết về CPU Intel Core Ultra 5 245K, để xem nó có thể kế thừa được những gì mà Core i5-13600K hay 14600K để lại hay không nhé!

Đánh giá Intel Core Ultra 7 265K: Có đáng để nâng cấp hay không?

Đánh giá Intel Core Ultra 7 265K: Có đáng để nâng cấp hay không?

23-10-2024, 8:59 am

Intel Core Ultra 7 265K là một trong những bộ vi xử lý mạnh mẽ nhất thuộc dòng sản phẩm Arrow Lake-S mới của Intel, được thiết kế cho các hệ thống máy tính để bàn, hướng tới những người dùng cần hiệu suất cao. Dưới đây là đánh giá chi tiết của Nguyễn Công PC về hiệu suất của vi xử lý Intel Core Ultra 7 265K.

Đánh giá Intel Core Ultra 9 285K: Mạnh nhưng vẫn còn thiếu gì đó

Đánh giá Intel Core Ultra 9 285K: Mạnh nhưng vẫn còn thiếu gì đó

22-10-2024, 4:52 pm

Bài viết này của Nguyễn Công PC sẽ cung cấp cái nhìn tổng quan nhất tới bạn về Intel Core Ultra 9 285K, trong đó bao gồm thông số kỹ thuật, các tính năng nổi bật và đánh giá hiệu năng thực tế, giúp bạn dễ dàng cân nhắc liệu sản phẩm này có đáng để đầu tư hay không.

TOP 7 cách mở Task Manager trên Windows mà có thể bạn chưa biết

TOP 7 cách mở Task Manager trên Windows mà có thể bạn chưa biết

14-10-2024, 10:36 am

Bài viết sau đây của Nguyễn Công PC sẽ chia sẻ tới bạn đọc 7 cách để có thể mở được Task Manager dễ dàng trên hệ điều hành Windows.

TOP 8 ổ cứng SSD 1TB chính hãng giá tốt đáng mua nhất

TOP 8 ổ cứng SSD 1TB chính hãng giá tốt đáng mua nhất

19-09-2024, 2:30 pm

Trong bài viết này, Nguyễn Công PC sẽ giới thiệu đến bạn TOP 8 ổ cứng SSD 1TB chính hãng giá tốt, đáp ứng nhu cầu sử dụng đa dạng từ cá nhân đến doanh nghiệp, giúp bạn dễ dàng lựa chọn sản phẩm phù hợp nhất.

Đánh giá AMD Ryzen 5 9600X: Vẫn cần thêm thời gian để tối ưu

Đánh giá AMD Ryzen 5 9600X: Vẫn cần thêm thời gian để tối ưu

15-08-2024, 3:09 pm

Trong bài viết này, Nguyễn Công PC sẽ tiến hành thử nghiệm mẫu CPU AMD Ryzen 5 9600X. Hãy cùng xem chúng sẽ mang đến những trải nghiệm như thế nào cho người dùng nhé!

MBR VS GPT: Cái nào tốt hơn cho SSD?

MBR VS GPT: Cái nào tốt hơn cho SSD?

25-12-2020, 3:54 am

Mình có một SSD mới, nên tạo bảng phân vùng của SSD này dưới dạng MBR hay GPT thì sẽ tốt hơn? Mình có một ổ SSD mới để thay thế ổ cứng cũ, mình muốn khởi động từ SSD và chạy các ứng dụng trên nó, vậy nên khởi tạo kiểu phân vùng nào cho nó?

Sử dụng GPU để tăng tốc tính toán như thế nào?

Sử dụng GPU để tăng tốc tính toán như thế nào?

21-12-2020, 5:05 am

Kể từ khi GPU được cho phép để lập trình, phạm vi ứng dụng của nó ngày càng rộng hơn. Ngoài các ứng dụng AI phổ biến nhất hiện nay, vẫn còn nhiều lĩnh vực yêu cầu GPU để giảm thời gian tính toán.

Top 10 cấu hình máy tính vừa đồ họa vừa gaming theo ngân sách 2021

Top 10 cấu hình máy tính vừa đồ họa vừa gaming theo ngân sách 2021

07-12-2020, 6:13 am

Nguyễn Công PC sẽ giới thiệu đến bạn 10 cấu hình máy tính vừa đồ họa vừa gaming theo ngân sách năm 2021 mà bạn nên tham khảo.

Lựa chọn RAM liệu có đơn giản?

Lựa chọn RAM liệu có đơn giản?

25-11-2020, 7:05 am

Trong bài viết này, mình sẽ giải thích sơ lược về những điểm cần chú ý về RAM và giải đáp một số câu hỏi thường gặp để giúp anh em lựa chọn RAM phù hợp với bộ PC của mình nhé.

3 cách tắt / bật Windows Defender dễ và nhanh nhất trên Windows 10

3 cách tắt / bật Windows Defender dễ và nhanh nhất trên Windows 10

01-10-2020, 3:18 am

Không dài dòng lòng vòng đi vào vấn đề chính luôn. Sau đây nguyencongpc xin chia sẻ với các bạn 3 cách tắt / bật Windows Defender dễ và nhanh nhất trên Windows 10.

Xử lý lỗi Windows không nhận đủ số nhân và luồng của CPU

Xử lý lỗi Windows không nhận đủ số nhân và luồng của CPU

28-09-2020, 8:58 am

Có nhiều nguyên nhân gây ra lỗi không nhận đủ số nhân và luồng của vi xử lý trên hệ thống PC, chẳng hạn như lỗi bản Win đang sử dụng, lỗi BIOS hoặc thiết lập bên trong BIOS, lỗi thiết lập bên trong Window… 

mes
Chat Facebook(8h-22h30)
mes
Chat Zalo(8h-22h30)
khuyen-mai

Thêm sản phẩm vào giỏ hàng thành công!