AID301cChưa đo Cập nhật 23 giờ trước
AID301c - Thiết kế sản phẩm TTNT
134Câu hỏi
3Bộ đề
6Chủ đề
Câu hỏi của môn
104/134 câuCòn 30
Apy-cuda, Cython
Bmultiprocessing, mpi4py
Csubprocessing, symmetric-multiprocessing
Dthreading, ipyparallel
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "subprocessing, symmetric-multiprocessing". Câu hỏi tìm danh sách có chứa thứ không phải gói Python cụ thể dùng để tăng tốc mã. Symmetric multiprocessing (đa xử lý đối xứng, SMP) là một kiến trúc phần cứng trong đó nhiều CPU dùng chung bộ nhớ, còn subprocessing không phải tên gói; module chuẩn của Python là subprocess, dùng để chạy chương trình con chứ không phải công cụ tăng hiệu năng. "py-cuda, Cython" không được chọn vì PyCUDA cho phép gọi nhân CUDA trên GPU và Cython biên dịch mã Python sang C, đều là gói tăng tốc cụ thể. "multiprocessing, mpi4py" không được chọn vì multiprocessing chạy song song trên nhiều tiến trình và mpi4py đưa chuẩn MPI vào Python để tính toán phân tán. "threading, ipyparallel" không được chọn vì threading chạy đa luồng, hiệu quả với tác vụ chờ I/O, và ipyparallel phân phối tác vụ tới cụm engine IPython, đều là gói thật cho song song hoá.
ADevelop and delivery new products to existing customers
BDevelop new products and target new customers
CUse customer segmentation and/or market analysis to help marketing with new customers
DUse customer segmentation and/or market analysis to move into a different market
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Use customer segmentation and/or market analysis to help marketing with new customers". Tình huống cho thấy sản phẩm đã tốt, khách hiện có rất hài lòng, điểm nghẽn nằm ở việc thu hút khách mới chậm; cơ hội ưu tiên nhất vì vậy là dùng phân khúc khách hàng (customer segmentation) và phân tích thị trường để tìm nhóm khách giống những khách đang hài lòng, giúp bộ phận marketing nhắm đúng đối tượng. Phương án "Develop and delivery new products to existing customers" sai vì khách hiện có không phải vấn đề, làm sản phẩm mới cho họ không giải quyết việc bán chậm. Phương án "Develop new products and target new customers" vừa tốn kém vừa bỏ qua sản phẩm đang được đánh giá tốt; vấn đề không nằm ở sản phẩm. Phương án "move into a different market" bỏ thị trường hiện tại trong khi chưa khai thác được nó, rủi ro cao mà không có căn cứ từ tình huống.
AVisual summaries of the data
BConnecting the data to the business opportunity
CCommunication to stakeholders
DPredictive linear or logistic regression
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Predictive linear or logistic regression". EDA (phân tích khám phá dữ liệu) nhằm hiểu dữ liệu và gắn nó với câu hỏi kinh doanh, còn xây dựng mô hình dự đoán như hồi quy tuyến tính hay logistic thuộc bước mô hình hoá diễn ra sau, nên đây là thứ không thuộc EDA. Những việc sau đều là phần bình thường của EDA nên không được chọn: "Visual summaries of the data" như histogram, boxplot, scatter plot là công cụ chính để khám phá; "Connecting the data to the business opportunity" giúp kiểm tra dữ liệu có thực sự trả lời được bài toán kinh doanh hay không; "Communication to stakeholders" là bước trình bày phát hiện ban đầu cho người liên quan để thống nhất hướng đi trước khi mô hình hoá.
A
CythonB
mpi4pyC
TensorBoardD
ipyparallelLời giải
Mở trang câu hỏi này →Đáp án đúng: "TensorBoard". Tối ưu mã ở đây là làm chương trình chạy nhanh hơn, bằng cách biên dịch phần nặng sang mã máy hoặc chia việc ra nhiều lõi, nhiều máy. TensorBoard là bộ công cụ trực quan hóa quá trình huấn luyện của TensorFlow, hiển thị đường cong loss, đồ thị tính toán, phân bố trọng số; nó giúp theo dõi và gỡ lỗi mô hình chứ không làm mã chạy nhanh hơn, nên là đáp án của câu hỏi phủ định. Ba công cụ còn lại đều dùng để tối ưu mã nên không được chọn: "Cython" dịch mã kiểu Python có khai báo kiểu sang C rồi biên dịch, tăng tốc mạnh cho vòng lặp nặng; "mpi4py" đưa chuẩn MPI (Message Passing Interface, giao tiếp truyền thông điệp) vào Python để chạy song song trên nhiều tiến trình hoặc nhiều máy; "ipyparallel" cho phép điều phối một cụm engine IPython để chạy song song các tác vụ ngay từ notebook.
89In which situation would you most strongly consider MAE over RMSE as a regression metric?5 lựa chọn
Awhere we would like to interpret the error metric in terms of the original units
Blike predicting daily temperature where we expect a small range of values
Clike predicting time to failure for a machine where we expect a long tailed distribution of values
Dlike predicting the category or topic associated with a document
Ewhere we would like to interpret the error metric as a squared version of the original units
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "like predicting time to failure for a machine where we expect a long tailed distribution of values". RMSE bình phương sai số trước khi lấy trung bình nên phạt rất nặng những sai số lớn; với phân phối đuôi dài (long-tailed), vài máy hỏng rất muộn sẽ tạo sai số khổng lồ và chi phối toàn bộ RMSE. MAE lấy trung bình trị tuyệt đối nên bền vững hơn trước ngoại lai, phản ánh sai số điển hình tốt hơn. "where we would like to interpret the error metric in terms of the original units" không phân biệt được hai thước đo, vì cả MAE lẫn RMSE đều mang đơn vị gốc. "like predicting daily temperature where we expect a small range of values" là trường hợp sai số nhỏ và đều, hai thước đo cho kết quả gần nhau nên không có lý do mạnh để ưu tiên MAE. "like predicting the category or topic associated with a document" là bài toán phân loại, không dùng thước đo hồi quy. "as a squared version of the original units" mô tả MSE, không phải MAE hay RMSE.
AImproved accuracy
BPerformance drift
CIncreased training time
DNo impact at all
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Performance drift". Mô hình triển khai luôn chạy trên một ngăn xếp phần mềm gồm thư viện, phiên bản ngôn ngữ, mã tiền xử lý và môi trường container. Khi các thành phần này đổi, ví dụ nâng cấp thư viện làm đổi giá trị mặc định của tham số hay cách mã hoá biến, đầu ra của mô hình có thể lệch khỏi mức đã kiểm định mà không báo lỗi; hiện tượng đó gọi là trôi hiệu năng (performance drift), và là lý do phải ghi số phiên bản, kiểm thử hồi quy và giám sát sau mỗi lần thay đổi. "Improved accuracy" có thể xảy ra tình cờ nhưng không phải hệ quả rủi ro cần đề phòng. "Increased training time" liên quan tới chi phí tính toán, không phải tác động lên chất lượng dự đoán của mô hình đang phục vụ. "No impact at all" sai vì giả định phần mềm đổi mà mô hình không bị ảnh hưởng chính là nguồn gốc của nhiều lỗi khó phát hiện trong vận hành.
91Which of the following statements does not describe valid use case for dimensionality reduction?5 lựa chọn
APrincipal components analysis to process images used in classification.
BNon-negative matrix factorization to resolve topics from a corpus of words.
Ct-distributed stochastic neighbor embedding to visualize the results of a clustering algorithm.
DUsing an ANOVA to select a subset of features
EDown-sampling of the majority class
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Down-sampling of the majority class". Đây là câu phủ định. Giảm chiều (dimensionality reduction) là giảm số đặc trưng, tức số cột, bằng cách chiếu dữ liệu sang không gian ít chiều hơn hoặc chọn bớt đặc trưng; down-sampling lớp đa số lại bỏ bớt dòng, tức bớt mẫu, để cân bằng các lớp, nên số chiều giữ nguyên và đây là kỹ thuật xử lý mất cân bằng chứ không phải giảm chiều. "Principal components analysis to process images used in classification." là ứng dụng hợp lệ nên không chọn, vì PCA nén hàng nghìn điểm ảnh thành vài chục thành phần chính trước khi phân loại, như cách làm eigenfaces. "Non-negative matrix factorization to resolve topics from a corpus of words." hợp lệ vì NMF phân rã ma trận tài liệu và từ thành hai ma trận không âm, mỗi thành phần đọc được như một chủ đề. "t-distributed stochastic neighbor embedding to visualize the results of a clustering algorithm." hợp lệ vì t-SNE chiếu dữ liệu nhiều chiều xuống hai hoặc ba chiều mà vẫn giữ quan hệ lân cận, rất hợp để nhìn các cụm. "Using an ANOVA to select a subset of features" hợp lệ vì chọn đặc trưng theo kiểm định F của ANOVA, như SelectKBest với f_classif, là giảm chiều bằng lựa chọn đặc trưng.
ACorrectly predicted negative cases
BIncorrectly predicted positive cases
CCorrectly predicted positive cases
DIncorrectly predicted negative cases
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Correctly predicted positive cases". Trong confusion matrix (ma trận nhầm lẫn), True Positive là số mẫu thực sự thuộc lớp dương và mô hình cũng dự đoán là dương, ví dụ bệnh nhân có bệnh được mô hình phát hiện đúng là có bệnh; chữ True nói dự đoán đúng, chữ Positive nói nhãn dự đoán là dương. Phương án "Correctly predicted negative cases" là True Negative: mẫu âm được dự đoán đúng là âm. Phương án "Incorrectly predicted positive cases" là False Positive: mô hình báo dương nhưng thực tế là âm, còn gọi là báo động giả hay lỗi loại I. Phương án "Incorrectly predicted negative cases" là False Negative: mô hình báo âm trong khi thực tế là dương, tức bỏ sót, còn gọi là lỗi loại II. Bốn ô này là nền để tính precision, recall và F1.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Một cụm Spark thường được quản lý bởi trình quản lý tài nguyên như Spark standalone, Hadoop YARN, Apache Mesos hoặc Kubernetes; trình này phân bổ executor cho driver và theo dõi tài nguyên của các node. Docker container và tệp YAML chỉ là một cách đóng gói hoặc mô tả cấu hình trong vài môi trường, ví dụ khi chạy Spark trên Kubernetes, chứ không phải cách quản lý cụm nói chung. Vì vậy "True" sai: nó biến một lựa chọn triển khai cụ thể thành quy tắc chung, trong khi phần lớn cụm Spark được vận hành qua trình quản lý cụm, không cần Docker hay YAML.
94Which statement best describes why visualization of topics can have an impact on the business opportunity?5 lựa chọn
ABecause sharing with domain experts might enable topic-specific feature engineering
BBecause visual inspection can help choose the number of topics
CBecause we are able to see the top words with each topic
DBecause we are able to see the relative importance of each topic across the corpus
EBecause domain experts can visually inspect the validity of the topics
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Because sharing with domain experts might enable topic-specific feature engineering". Tác động lên cơ hội kinh doanh nghĩa là kết quả mô hình chủ đề (topic model) được chuyển thành giá trị cho bài toán; trực quan hóa giúp chuyên gia lĩnh vực đọc được các chủ đề, từ đó đề xuất đặc trưng (feature) gắn với từng chủ đề để đưa vào mô hình phía sau, đó là đường đi từ phân tích tới giá trị. Các phương án kia đều là lợi ích có thật của trực quan hóa nhưng dừng ở mức kỹ thuật, chưa nối tới cơ hội kinh doanh: "Because visual inspection can help choose the number of topics" là việc chọn siêu tham số của mô hình; "Because we are able to see the top words with each topic" chỉ là cách đọc nội dung từng chủ đề; "Because we are able to see the relative importance of each topic across the corpus" mô tả tỷ trọng các chủ đề trong kho văn bản; "Because domain experts can visually inspect the validity of the topics" là bước kiểm tra chất lượng, có ích nhưng chưa tạo ra hành động mới như đặc trưng mới cho mô hình.
95When training a custom classifier in Watson Visual Recognition the negative images should be:5 lựa chọn
AAs visually similar as possible to the positive images
BBackground images without the positive images
CAs random as possible to establish a background
DRandomly generated from the positive images
EVisually distinct from the positive images
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "As visually similar as possible to the positive images". Ảnh âm (negative images) cho bộ phân loại biết thế nào là không thuộc lớp cần nhận diện. Ảnh âm có bối cảnh, màu sắc, bố cục giống ảnh dương nhưng không chứa đối tượng buộc mô hình học đúng đặc điểm riêng của đối tượng thay vì dựa vào nền hay màu chung, nên ranh giới quyết định sắc hơn; đây là tinh thần của hard negatives (mẫu âm khó). "Background images without the positive images" không sai hẳn, nhưng nếu nền khác xa ảnh dương thì mô hình dễ học mẹo phân biệt theo nền. "As random as possible to establish a background" và "Visually distinct from the positive images" cho ví dụ quá dễ phân biệt, mô hình học được rất ít. "Randomly generated from the positive images" có nguy cơ vẫn chứa mảnh đối tượng, làm nhãn âm bị nhiễu.
ATo reduce the size of the data set
BTo monitor model performance and debug issues
CTo make data collection easier
DTo avoid using log files
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To monitor model performance and debug issues". Dữ liệu tối thiểu cần có là những gì đủ để mô hình chạy và để đánh giá nó sau triển khai: đặc trưng đầu vào, dự đoán, kết quả thực tế khi có, thời điểm và phiên bản mô hình. Thiếu phần này thì không thể so dự đoán với thực tế, không phát hiện được trôi dữ liệu và không tái hiện được lỗi khi mô hình hoạt động sai. "To reduce the size of the data set" nhầm mục đích: yêu cầu tối thiểu là bảo đảm có đủ, không phải để cắt bớt dữ liệu. "To make data collection easier" không phải lý do chính; xác định dữ liệu tối thiểu có giúp lên kế hoạch thu thập, nhưng giá trị của nó nằm ở việc giám sát được mô hình. "To avoid using log files" ngược lại, vì chính log là nơi lưu dữ liệu tối thiểu phục vụ giám sát và gỡ lỗi.
97What is the principal reason to create a virtual environment before creating your model locally?5 lựa chọn
ABecause all models should have their own virtual environment
BBecause it will ensure that the most recent packages are used
CBecause virtual environments can be containerized easily
DBecause the Python client for Watson Machine Learning has specific dependencies
EBecause it ensures that locally created/trained models are compatible with Watson Machine Learning
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Because it ensures that locally created/trained models are compatible with Watson Machine Learning". Khi huấn luyện mô hình trên máy cá nhân rồi triển khai lên Watson Machine Learning, môi trường chạy của dịch vụ chỉ hỗ trợ một số phiên bản Python và thư viện nhất định như scikit-learn hay TensorFlow; virtual environment (môi trường ảo) giúp ghim đúng các phiên bản đó để mô hình đã lưu ra tệp nạp và chạy được trên dịch vụ mà không lỗi lệch phiên bản. "Because all models should have their own virtual environment" sai vì đó là thói quen tốt chung chung chứ không nêu lý do chính trong bối cảnh triển khai này. "Because it will ensure that the most recent packages are used" sai vì mục tiêu ngược lại: cần đúng phiên bản được hỗ trợ, mà bản mới nhất có thể chưa được dịch vụ hỗ trợ. "Because virtual environments can be containerized easily" sai vì môi trường ảo không phải container, và đóng gói container không phải lý do ở đây. "Because the Python client for Watson Machine Learning has specific dependencies" sai vì phụ thuộc của thư viện client chỉ ảnh hưởng tới việc gọi API, còn điều quyết định là mô hình phải khớp với môi trường chạy của dịch vụ.
98What does a deployment in Kubernetes manage?4 lựa chọn
AThe API server
BThe desired state of applications
CThe health of worker nodes
DThe network configuration
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The desired state of applications". Deployment trong Kubernetes là đối tượng khai báo trạng thái mong muốn của ứng dụng: chạy bao nhiêu bản sao pod, dùng image nào, cập nhật theo kiểu rolling update ra sao; bộ điều khiển của cụm liên tục so trạng thái thật với trạng thái khai báo và tạo, thay, xoá pod để khớp lại, kể cả khôi phục khi pod chết. Phương án "The API server" sai vì API server là thành phần của control plane (mặt phẳng điều khiển), nơi mọi yêu cầu đi qua, chứ không do deployment quản lý. Phương án "The health of worker nodes" sai vì sức khoẻ nút do kubelet báo cáo và node controller theo dõi, deployment chỉ lo các pod của ứng dụng. Phương án "The network configuration" sai vì mạng được xử lý bởi Service, Ingress và plugin mạng CNI, không phải bởi deployment.
Adashboarding, high performance computing, and code profiling
Bnumeric computing, data munging, data visualization and data modeling
Cconvex optimization, python programming, statistical programming
Dcontinuous integration, linear programming, and data exploration
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "numeric computing, data munging, data visualization and data modeling". Môn học này giả định người học đã quen các kỹ năng nền của khoa học dữ liệu bằng Python: tính toán số (NumPy), xử lý và làm sạch dữ liệu (data munging, ví dụ với Pandas), trực quan hoá và xây dựng mô hình cơ bản; phần mới là đưa chúng vào quy trình vận hành AI. "dashboarding, high performance computing, and code profiling" là những chủ đề được dạy trong chính quy trình chứ không phải điều kiện tiên quyết. "convex optimization, python programming, statistical programming" có tối ưu lồi, một chủ đề toán chuyên sâu không bắt buộc. "continuous integration, linear programming, and data exploration" có tích hợp liên tục và quy hoạch tuyến tính, những thứ thuộc nội dung triển khai hoặc ngoài phạm vi, không phải nền tảng cần có trước.
ACluster IP
BNode Port
CLoad Balancer
DInternal Service
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Load Balancer". Trong Kubernetes, Service là đối tượng cấp một địa chỉ ổn định cho nhóm pod. Kiểu LoadBalancer yêu cầu nhà cung cấp hạ tầng cấp một bộ cân bằng tải bên ngoài có địa chỉ công khai, chia lưu lượng vào các pod phía sau, nên đây là cách chuẩn để đưa ứng dụng ra cho người dùng bên ngoài. "Cluster IP" là kiểu mặc định, chỉ cấp địa chỉ nội bộ, chỉ truy cập được từ bên trong cụm. "Node Port" mở một cổng cố định trên mọi node và về kỹ thuật có thể truy cập từ ngoài qua địa chỉ node, nhưng đó là cách thô, hay dùng để thử nghiệm, không có cân bằng tải bên ngoài và phải tự lo địa chỉ node, nên không phải đáp án tốt nhất cho việc phục vụ người dùng bên ngoài. "Internal Service" như chính tên gọi chỉ phục vụ giao tiếp nội bộ giữa các thành phần, ngược với yêu cầu đưa ra ngoài.
ATo increase the size of the dataset
BTo track changes and identify performance issues
CTo improve the user interface
DTo reduce computational costs
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To track changes and identify performance issues". Trong giám sát mô hình đang chạy thật, logging (ghi nhật ký) lưu lại đầu vào, dự đoán, thời gian phản hồi, phiên bản mô hình và về sau là nhãn thực tế, nhờ đó đội vận hành theo dõi được thay đổi theo thời gian, phát hiện data drift (dữ liệu trôi khỏi phân phối lúc huấn luyện), độ chính xác giảm hay lỗi hệ thống và truy lại nguyên nhân. "To increase the size of the dataset" không phải mục đích; dữ liệu ghi lại có thể giúp huấn luyện lại sau này nhưng đó là hệ quả phụ. "To improve the user interface" không liên quan, vì nhật ký phục vụ người vận hành chứ không thay đổi giao diện. "To reduce computational costs" sai, vì ghi nhật ký còn tốn thêm tài nguyên lưu trữ và xử lý.
AJSON
BXML
CYAML
DCSV
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "YAML". Kubernetes mô tả tài nguyên như Deployment, Service, Pod bằng tệp manifest khai báo, thường viết bằng YAML (định dạng dữ liệu dễ đọc, phân cấp bằng thụt lề), với các trường apiVersion, kind, metadata, spec, rồi áp dụng bằng lệnh kubectl apply. "JSON" thực ra cũng được API của Kubernetes chấp nhận, vì YAML là siêu tập của JSON, nhưng không phải định dạng quen dùng để viết tệp triển khai. "XML" không được Kubernetes dùng cho manifest. "CSV" là định dạng bảng phẳng, không biểu diễn được cấu trúc lồng nhau như danh sách container, cổng, biến môi trường mà một tài nguyên cần.
103What is the role of Kube DNS in Kubernetes?4 lựa chọn
ATo manage the API server
BTo provide service discovery for pods
CTo monitor application health
DTo create YAML manifests
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To provide service discovery for pods". Kube DNS (nay thường được thay bằng CoreDNS) là thành phần bổ trợ của cụm Kubernetes, tự tạo bản ghi DNS cho mỗi Service, nhờ đó một pod có thể gọi dịch vụ khác qua tên như my-service.my-namespace.svc.cluster.local thay vì nhớ địa chỉ IP vốn đổi mỗi khi pod được tạo lại; đó chính là service discovery (khám phá dịch vụ). "To manage the API server" sai vì kube-apiserver là thành phần lõi của control plane, còn DNS chỉ là một dịch vụ chạy bên trong cụm và dựa vào API server để theo dõi Service. "To monitor application health" sai vì sức khoẻ ứng dụng được kiểm qua liveness probe, readiness probe và các công cụ giám sát như Prometheus. "To create YAML manifests" sai vì manifest YAML do người vận hành viết hoặc do công cụ như Helm sinh ra, rồi gửi lên cụm bằng kubectl.
ATensorFlow
BAdversarial Robustness Toolbox
CScikit-learn
DKeras
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Adversarial Robustness Toolbox". Adversarial Robustness Toolbox (ART) là thư viện mã nguồn mở do IBM khởi xướng, chuyên đánh giá và tăng độ bền vững của mô hình học máy trước tấn công đối kháng (adversarial attack), tức các đầu vào bị chỉnh rất nhỏ để đánh lừa mô hình; nó cung cấp sẵn các phép tấn công, phòng thủ và thước đo độ bền. Phương án "TensorFlow" là framework để xây dựng và huấn luyện mô hình, không phải công cụ chuyên kiểm tra độ bền, dù ART có thể làm việc với mô hình TensorFlow. Phương án "Scikit-learn" là thư viện học máy cổ điển cho phân loại, hồi quy, phân cụm, không có chức năng đánh giá tấn công đối kháng. Phương án "Keras" là API bậc cao để định nghĩa mạng nơ-ron, mục đích là xây mô hình chứ không kiểm chứng độ bền của mô hình.