AID301cChưa đo Cập nhật 23 giờ trước

AID301c - Thiết kế sản phẩm TTNT

AID301c - Thiết kế sản phẩm TTNT là môn 3 tín chỉ bậc cử nhân của Đại học FPT, học sau SWE201c và AIL303m. Môn xử lý khoảng cách giữa một mô hình chạy tốt trong sổ tay thử nghiệm và một sản phẩm trí tuệ nhân tạo mà doanh nghiệp dùng được mỗi ngày. Nhiều dự án AI không hỏng ở thuật toán: chúng hỏng vì bài toán kinh doanh đặt mơ hồ, vì dữ liệu đổ vào không ổn định, hoặc vì mô hình lặng lẽ xuống cấp sau khi lên hệ thống thật mà không ai hay. Do đó việc làm AI được xem như một vòng khép kín, mở bằng câu hỏi kinh doanh và đóng bằng dữ liệu vận hành quay về chất vấn chính câu hỏi ấy. Đầu cuối của vòng là phần dễ bị xem nhẹ: giám sát mô hình đang chạy, nhận ra độ trôi của dữ liệu đầu vào và của chất lượng dự đoán, rồi dựng vòng phản hồi để biết lúc nào phải huấn luyện lại. Ở đầu kia, ưu tiên kinh doanh được dịch thành giả thuyết đo được, và dữ liệu từ nhiều nguồn rời rạc được gom qua đường ống thu nhận chạy lặp lại thay vì nhặt tay một lần. Chặng chuẩn bị dữ liệu đi qua biến đổi và tạo đặc trưng, việc soát thiên lệch trong dữ liệu lẫn trong kết quả mô hình, và trước đó là phân tích khám phá kèm kiểm định giả thuyết thống kê để tách khác biệt có thật khỏi nhiễu. Ở khâu triển khai, mô hình trở thành dịch vụ: đóng gói trong container Docker, xử lý dữ liệu lớn bằng Apache Spark, chạy và mở rộng trên cụm Kubernetes. Ở khâu mô hình, trọng tâm là chọn thước đo đánh giá khớp với cái giá của từng loại sai, so học máy truyền thống với học sâu, và hai lớp ứng dụng riêng là nhận dạng hình ảnh với xử lý ngôn ngữ tự nhiên. Học xong, người học dựng được một dịch vụ dự đoán có giám sát đủ để bàn giao cho người vận hành, biện hộ được cho lựa chọn mô hình bằng thước đo gắn với thiệt hại thật thay vì một con số chính xác chung chung, và trước cả hai việc đó, đọc được một yêu cầu kinh doanh để chỉ ra dữ liệu nào còn thiếu trước khi viết dòng mã đầu tiên. Môn cũng rèn thói quen nghi ngờ kết quả của chính mình: một mô hình đạt điểm cao trên tập kiểm tra vẫn có thể sai có hệ thống với một nhóm khách hàng, hoặc mất giá trị sau vài tháng khi hành vi người dùng đổi, và phải có số đo liên tục mới thấy được điều đó.

134Câu hỏi
3Bộ đề
6Chủ đề

Câu hỏi của môn

134/134 câuHết danh sách
AClassification
BRegression
CClustering
DReinforcement Learning
Lời giải
Đáp án đúng: "Regression". Supervised learning (học có giám sát) học từ dữ liệu có nhãn; khi nhãn là một số thực liên tục như giá nhà, doanh thu hay nhiệt độ thì bài toán gọi là regression (hồi quy), với thước đo đánh giá thường dùng như MAE hay RMSE. "Classification" cũng là học có giám sát nhưng nhãn là các lớp rời rạc, chẳng hạn khách hàng có rời bỏ dịch vụ hay không. "Clustering" (phân cụm) thuộc học không giám sát, gom nhóm các mẫu giống nhau mà không cần nhãn. "Reinforcement Learning" (học tăng cường) là một nhánh riêng, trong đó tác tử học hành động qua thử và sai dựa trên phần thưởng, không phải bài toán dự đoán nhãn từ dữ liệu đã gán nhãn.
Mở trang câu hỏi này →
ATo create complex web applications
BTo provide a functional interface for simple interactive use
CTo manage data storage
DTo perform statistical analysis
Lời giải
Đáp án đúng: "To provide a functional interface for simple interactive use". matplotlib.pyplot là giao diện kiểu hàm, tự giữ trạng thái của hình và trục hiện tại, cho phép vẽ nhanh bằng các lệnh như plt.plot, plt.xlabel, plt.show trong notebook hay phiên tương tác, theo phong cách của MATLAB; với hình phức tạp thì nên dùng giao diện hướng đối tượng qua Figure và Axes. "To create complex web applications" không phải vai trò của pyplot; ứng dụng web cần framework như Flask hay Dash, pyplot chỉ tạo hình. "To manage data storage" thuộc việc của cơ sở dữ liệu, tệp hay pandas, không liên quan tới vẽ. "To perform statistical analysis" là việc của các thư viện như scipy.stats hay statsmodels; pyplot chỉ hiển thị kết quả chứ không tự tính toán thống kê.
Mở trang câu hỏi này →
AThat there is an underlying population that your sample comes from
BThat the population follows an assumed probability distribution
CThat the observations in your sample are independent and identically distributed
DThat random variables represent the possible values that the data can take
EThat the probability statement applies to one observation at a time in a data set
Lời giải
Đáp án đúng: "That the probability statement applies to one observation at a time in a data set". Đây là câu phủ định. Khi đưa ra phát biểu xác suất về một mẫu, ta dựa trên khung suy luận thống kê: mẫu lấy từ một tổng thể, tổng thể theo một phân phối giả định, các quan sát độc lập và cùng phân phối, còn dữ liệu được mô hình hoá bằng biến ngẫu nhiên; phát biểu như khoảng tin cậy hay giá trị p nói về cả mẫu hoặc tham số của tổng thể, nên việc áp dụng cho từng quan sát một không phải một giả định. "That there is an underlying population that your sample comes from" là giả định thật nên không chọn, vì suy luận từ mẫu chỉ có nghĩa khi có tổng thể để khái quát. "That the population follows an assumed probability distribution" là giả định thật vì cần mô hình phân phối, như phân phối chuẩn, mới tính được xác suất. "That the observations in your sample are independent and identically distributed" là giả định thật (i.i.d.), cho phép nhân xác suất các quan sát và áp dụng định lý giới hạn trung tâm. "That random variables represent the possible values that the data can take" là giả định thật vì dữ liệu được xem là hiện thực của biến ngẫu nhiên.
Mở trang câu hỏi này →
ACreating interactive plots
BAccessing from a Python notebook
CGenerating static images only
DOffering unique chart types like contour plots
Lời giải
Đáp án đúng: "Generating static images only". Plotly là thư viện trực quan hoá tạo biểu đồ tương tác chạy trên trình duyệt: người dùng phóng to, rê chuột xem giá trị, bật tắt chuỗi dữ liệu; nó có thể xuất ảnh tĩnh khi cần, nhưng chỉ tạo ảnh tĩnh là phát biểu sai về Plotly nên đây là đáp án của câu hỏi phủ định. Các phát biểu khác đều đúng nên không được chọn. "Creating interactive plots" là đặc trưng cốt lõi của Plotly, khác với biểu đồ tĩnh mặc định của matplotlib. "Accessing from a Python notebook" đúng vì Plotly hiển thị trực tiếp trong Jupyter notebook qua thư viện Python plotly. "Offering unique chart types like contour plots" đúng vì Plotly có sẵn nhiều loại biểu đồ như contour (đường đồng mức), bản đồ nhiệt, biểu đồ ba chiều và bản đồ địa lý.
Mở trang câu hỏi này →
APass a pickle file when the model is declared
BSet the named parameters directly when the model is declared
CPass a ParamMap to the .fit() method of the model
DCreate a ParamMap, update it then pass it to a .fit() method of the model
EPass a ParamMap to the .fit() method of a pipeline
Lời giải
Đáp án đúng: "Pass a pickle file when the model is declared". Spark MLlib nhận tham số theo cơ chế Param: đặt trực tiếp khi khởi tạo hoặc truyền một ParamMap (bảng ánh xạ tham số sang giá trị) vào phương thức fit, và ParamMap truyền vào fit sẽ ghi đè giá trị đã đặt; tệp pickle là dạng tuần tự hoá đối tượng Python, không phải cách khai báo tham số, nên đây là cách không hợp lệ. "Set the named parameters directly when the model is declared" hợp lệ, ví dụ LogisticRegression(maxIter=10). "Pass a ParamMap to the .fit() method of the model" hợp lệ vì fit nhận ParamMap tuỳ chọn. "Create a ParamMap, update it then pass it to a .fit()" hợp lệ vì ParamMap là từ điển có thể cập nhật trước khi dùng. "Pass a ParamMap to the .fit() method of a pipeline" hợp lệ vì Pipeline cũng là Estimator và ParamMap có thể chứa tham số của từng giai đoạn.
Mở trang câu hỏi này →
AIncrease the number of features
BUse the njobs argument
CDecrease the dataset size
DAvoid using any optimization algorithms
Lời giải
Đáp án đúng: "Use the njobs argument". Nhiều estimator và công cụ của scikit-learn như RandomForestClassifier, GridSearchCV hay cross_val_score có đối số số tác vụ song song, viết trong mã là n_jobs; đặt n_jobs=-1 cho phép dùng mọi lõi CPU để huấn luyện các cây hoặc thử các cấu hình song song, rút ngắn thời gian mà không đổi kết quả mô hình. "Increase the number of features" sai vì thêm đặc trưng làm tăng chi phí tính toán và có thể gây quá khớp, không phải cách tối ưu huấn luyện. "Decrease the dataset size" có thể làm nhanh hơn nhưng phải trả bằng việc mất thông tin và mô hình kém đi, nên không phải cách tối ưu đúng nghĩa. "Avoid using any optimization algorithms" vô nghĩa vì chính quá trình huấn luyện là chạy một thuật toán tối ưu để tìm tham số; bỏ nó thì không có mô hình.
Mở trang câu hỏi này →
AIt simplifies data visualization
BIt provides a standard environment for model deployment
CIt eliminates the need for coding
DIt is used for data storage
Lời giải
Đáp án đúng: "It provides a standard environment for model deployment". Docker đóng gói mô hình cùng mã phục vụ, phiên bản Python, thư viện và cấu hình hệ thống vào một image; container chạy từ image đó hoạt động như nhau trên máy của nhà khoa học dữ liệu, máy chủ kiểm thử hay cụm máy production, loại bỏ lỗi kiểu chạy được trên máy tôi mà lên máy chủ thì hỏng, và dễ đưa lên các nền tảng điều phối như Kubernetes. "It simplifies data visualization" sai vì vẽ biểu đồ là việc của thư viện như matplotlib, Docker không liên quan. "It eliminates the need for coding" sai, vì vẫn phải viết mã mô hình và cả Dockerfile. "It is used for data storage" sai vì container vốn tạm thời; lưu dữ liệu bền vững cần volume hoặc hệ thống lưu trữ riêng, và đó không phải giá trị chính của Docker.
Mở trang câu hỏi này →
AUtility-based recommender systems
BCollaborative-based recommender systems
CContent-based recommender systems
DHybrid recommender systems
EDemographics-based recommender systems
Lời giải
Đáp án đúng: "Collaborative-based recommender systems". Thư viện học máy của Spark (MLlib) có sẵn lọc cộng tác (collaborative filtering) qua thuật toán ALS (Alternating Least Squares, bình phương tối thiểu luân phiên): phân rã ma trận người dùng và sản phẩm thành hai ma trận nhân tố ẩn để dự đoán điểm đánh giá còn thiếu, chỉ dựa trên lịch sử tương tác. "Content-based recommender systems" gợi ý theo đặc điểm của sản phẩm; có thể tự dựng từ các công cụ trích đặc trưng và đo độ tương tự trong Spark, nhưng không có mô hình đóng gói sẵn. "Utility-based recommender systems" phải xây hàm tiện ích riêng cho người dùng, không có sẵn trong Spark. "Hybrid recommender systems" là kết hợp nhiều cách tiếp cận, người dùng phải tự ghép. "Demographics-based recommender systems" dựa trên tuổi, giới tính, vùng miền của người dùng, cũng không có cài đặt sẵn.
Mở trang câu hỏi này →
AMicroservices: many loosely coupled and independently deployable services
BDevOps/Data Engineers use containers as a common platform for many teams
CAvoid install overhead with a Spark environment
DHybrid, multi-cloud portability for a machine learning model
EReplacement for a standard virtual machine
Lời giải
Đáp án đúng: "Replacement for a standard virtual machine". Container của Docker dùng chung nhân hệ điều hành của máy chủ và chỉ cô lập ở mức tiến trình, nên nhẹ và khởi động nhanh, nhưng không ảo hoá phần cứng và không chạy được hệ điều hành có nhân khác như một virtual machine (máy ảo); vì vậy nó bổ sung chứ khó thay thế hoàn toàn máy ảo chuẩn, nhất là khi cần cô lập bảo mật mạnh hoặc một hệ điều hành riêng. Câu hỏi tìm trường hợp ít khả năng nhất. "Microservices: many loosely coupled and independently deployable services" là trường hợp điển hình vì mỗi dịch vụ đóng gói thành một container triển khai độc lập. "DevOps/Data Engineers use containers as a common platform for many teams" là trường hợp thật vì image chung giúp các nhóm có cùng môi trường từ phát triển tới vận hành. "Avoid install overhead with a Spark environment" là trường hợp thật vì có thể kéo sẵn image chứa Spark thay vì tự cài Java và cấu hình. "Hybrid, multi-cloud portability for a machine learning model" là trường hợp thật vì container chạy giống nhau trên máy tại chỗ và trên nhiều đám mây.
Mở trang câu hỏi này →
AIt requires more resources than virtual machines
BIt allows for easier deployment of applications
CIt is only suitable for small applications
DIt does not support multiple applications
Lời giải
Đáp án đúng: "It allows for easier deployment of applications". Docker đóng gói ứng dụng cùng thư viện, cấu hình và môi trường chạy vào một image, nên container (vùng chứa) chạy giống hệt nhau trên máy phát triển, máy chủ kiểm thử hay đám mây; đây là lợi ích chính giúp triển khai dễ và tránh lỗi chỉ chạy được trên máy tôi. Phương án "It requires more resources than virtual machines" sai vì container dùng chung nhân hệ điều hành của máy chủ, nhẹ hơn và khởi động nhanh hơn máy ảo; hơn nữa tốn tài nguyên hơn thì không thể là lợi ích. Phương án "It is only suitable for small applications" sai vì Docker được dùng cho cả hệ thống lớn, kết hợp với Kubernetes để chạy hàng nghìn container. Phương án "It does not support multiple applications" sai vì một máy có thể chạy nhiều container độc lập, và Docker Compose giúp điều phối nhiều dịch vụ cùng lúc.
Mở trang câu hỏi này →