Sử dụng học máy trong phát triển phần mềm

Anh Học| 07/10/2019 09:32
Theo dõi ICTVietnam trên

Để tìm hiểu về tình trạng hiện tại và tương lai của học máy (ML) trong phát triển phần mềm, chúng tôi đã thu thập những hiểu biết sâu sắc từ các chuyên gia CNTT từ 16 nhà cung cấp giải pháp. Chúng tôi đã đặt câu hỏi: "Bạn có bất kỳ mối quan tâm nào về việc sử dụng máy học trong SDLC không?"

Kết quả hình ảnh cho Concerns Using Machine Learning in Software Development

Và đây là những gì chúng tôi thu được:

Chất lượng dữ liệu

- Tất cả chúng ta đang ở giai đoạn phát triển ý tưởng và học tập. Hãy hoàn thiện và đi tìm cơ hội. Dữ liệu không phải dùng để trực tiếp phát triển phần mềm; nó cần được làm sạch và được quản lý. Cần phải có hiểu biết sâu rộng với dữ liệu chất lượng cao.

- Đây là một lĩnh vực mới đòi hỏi các công ty phải điều chỉnh cách thu thập và phân tích dữ liệu xung quanh SDLC. Chuyển từ định tính sang định lượng. Chất selen không bao giờ được sử dụng để sử dụng ML.

- Mối quan tâm xung quanh dữ liệu, nhận được dữ liệu phù hợp để loại bỏ sự thiên vị cần tính tới các giá trị tổ chức. Mục đích là mô hình nào sẽ thực hiện và bạn đang cố gắng đạt được điều gì.

Thiên vị

Có những thành kiến ​​cố hữu mà có thể một số bộ dữ liệu đào tạo có thể dẫn tới. Một số mô hình có thể tạo ra nhiều kết quả dương tính giả và điều này cũng đúng khi sử dụng ML trong SDLC. Chọn đúng thuật toán và công cụ sẽ là một khía cạnh quan trọng của việc tận dụng ML trong SDLC. Bây giờ, để có cái nhìn tích cực hơn về tương lai: Khi chúng ta đang sống trong thời đại này khi mà AI và ML đang trở nên phổ biến, các công ty sẽ bắt đầu tự hỏi liệu có cần một nhà phát triển con người hay không. AI có thể sản xuất AI? Hệ thống thông minh có thể tự tạo mã thực thi để đạt được mục tiêu đã đề ra hay không? Nếu vậy, nhu cầu của con người trong vòng lặp bị giảm đi rất nhiều. AI và ML sẽ thay thế các nhà phát triển phần mềm hiện tại và phủ nhận sự cần thiết của chúng hay không? Tôi thấy điều này đang tạo ra một cuộc thảo luận có liên quan trong tương lai không xa; tuy nhiên, hiện nay, vẫn cần có sự tham gia của con người, đào tạo các hệ thống để chọn đúng loại lựa chọn thuật toán, các biện pháp đo lường phù hợp, vv…

Kỹ năng

Hãy nghĩ về ML theo cách khác so với một ứng dụng. Các hệ thống cơ bản đang thay đổi bởi vì chúng vốn đã năng động. Khi mọi người triển khai ML, họ cần phải giám sát. Hãy chắc chắn rằng các chuyên gia có thẩm quyền và được đào tạo và có chứng nhận liên tục. Các chuyên gia cần phải chứng minh chuyên môn liên tục. Đặt các quy trình tại chỗ để đảm bảo hệ thống đang làm những gì bạn mong đợi và làm tốt.

Kỹ năng là một mối quan tâm. Có chuyên môn và kiến ​​thức để áp dụng ML một cách chính xác là chìa khóa và là nhiệm vụ hàng đầu của tất cả các công ty công nghệ hiện nay. Một chủ đề lớn khác là có các bộ dữ liệu phù hợp với dữ liệu được dán nhãn rõ ràng để sử dụng cho các ứng dụng. Có một số vấn đề nhất định có thể phát sinh khi áp dụng AI và ML cho các ứng dụng của người dùng cuối cũng có trong SDLC. Các vấn đề như đưa ra sự thiên vị ngoài ý muốn vào các thuật toán có thể làm sai lệch kết quả mà bạn đang làm việc hoặc thiếu dữ liệu tốt, cho dù là để đào tạo hay tối ưu hóa. Một khía cạnh khác mà tất cả chúng ta phải cẩn thận là cách tiếp cận hộp đen. Chúng ta cần bảo vệ chống lại sự phụ thuộc của người chủ chốt và tránh các tình huống nếu một đồng nghiệp rời khỏi doanh nghiệp, cả nhóm không biết là người vừa rời đi đang làm việc gì. Làm việc trong các silo rất nguy hiểm và góp phần vào phép ẩn dụ của “hộp đen”.

Những thứ khác nữa

- Có thể xem ML là một giải pháp toàn diện, nhưng bản chất của nó không phải như vậy. Các nhà phát triển phải buộc nó tuân thủ các giao thức SDLC truyền thống để tạo ra các sản phẩm chất lượng.

- Phát triển và tối ưu hóa một mô hình ML có quá nhiều siêu âm. Thật khó để phân biệt một sự thất bại của phương pháp so với lựa chọn tham số xấu. Nếu mô hình được sử dụng cho nhiều nhiệm vụ, thật khó để đảm bảo các cải tiến cho một nhiệm vụ sẽ không phá vỡ các nhiệm vụ khác.

- Khi gặp thất bại sẽ nảy sinh nhiều sự cường điệu và vì người dùng không đủ kiến ​​thức về cách thức hoạt động. Hoạt động của trí tuệ nhân tạo không phải để chuyển sang phát triển. Tất cả ba nền tảng đám mây đều có hướng dẫn. Bạn có thể học cách đào tạo thuật toán và phát triển mô hình.

- ML là một công nghệ đáng kinh ngạc nhưng đồng thời khi chúng ta sử dụng ML cho các tình huống quan trọng như chẩn đoán y tế hoặc xe tự lái, chúng ta cần suy nghĩ về những câu hỏi sâu hơn về sự cố xảy ra. Làm thế nào để theo dõi và xác định nguyên nhân gốc rễ. Phải tập trung trọng tâm vào khía cạnh này. Chi phí để đưa ra một quyết định sai lầm cần phải được xem xét.

- Mối quan tâm chính của tôi là sự hiểu biết về vấn đề cần giải quyết. Đầu tiên, cần có một sự hiểu biết về việc ML trong SDLC có thực sự cần thiết hay không. Bạn có thể làm rất nhiều với các cách tiếp cận dựa trên quy tắc cơ bản, ML có thể tạo ra tiếng ồn, đặc biệt là khi bạn đang cố gắng làm một cái gì đó rất chung chung và rộng rãi. Tôi nghĩ mọi người có xu hướng bắt đầu với thứ gì đó  quá mức cần thiết cho những gì họ cần. Vấn đề thứ hai là xây dựng một kích thước phù hợp với tất cả các giải pháp. Thật sự rất khó để xây dựng một cái gì đó có thể được áp dụng ở mọi nơi mà vấn đề đang tồn tại bởi vì bối cảnh luôn luôn quan trọng. Luôn luôn tập trung vào các trường hợp sử dụng cụ thể và phù hợp đầu tiên. Nếu bạn có thể giải quyết tốt những điều đó, thì hãy xem liệu bạn có thể mở rộng và khái quát cho người khác không.

Nổi bật Tạp chí Thông tin & Truyền thông
Đừng bỏ lỡ
Sử dụng học máy trong phát triển phần mềm
POWERED BY ONECMS - A PRODUCT OF NEKO