AI 엔지니어를 위한 고려사항 이해

완료됨

소프트웨어 엔지니어

소프트웨어 솔루션에는 AI 기능이 점차 증가하고 있습니다. 따라서 소프트웨어 엔지니어는 AI 기능을 애플리케이션 및 서비스에 통합하는 방법을 알아야 합니다.

기계 학습이 발전하는 동시에 대용량 데이터의 가용성 증가와 이를 처리하고 예측 모델을 학습하는 강력한 컴퓨팅으로 인해 AI 기능을 캡슐화하는 사전 패키지 소프트웨어 서비스의 가용성이 높아졌습니다. 소프트웨어 엔지니어는 이러한 서비스를 활용하여 기본 AI 기능을 사용하는 애플리케이션 및 에이전트를 만들고 이를 빌딩 블록으로 사용하여 지능형 솔루션을 만들 수 있습니다.

즉, 소프트웨어 엔지니어는 데이터 과학자나 기계 학습 전문가가 되지 않고도 프로그래밍, 테스트, 소스 제어 시스템 작업 및 배포용 애플리케이션 패키징 등에 기존 기술을 적용할 수 있습니다.

그러나 AI의 기회를 최대한 활용하려면 소프트웨어 엔지니어가 최소한 핵심 AI와 기계 학습 원칙을 이해해야 합니다.

모델 학습 및 추론

많은 AI 시스템은 샘플 데이터를 사용하여 학습해야 하는 예측 모델을 사용합니다. 학습 프로세스는 데이터를 분석하고 데이터의 기능(일반적으로 새 관찰에 표시되는 데이터 값)과 레이블(모델이 예측하도록 학습되는 값) 간의 관계를 결정합니다.

모델을 학습한 후에는 알게된 기능 값을 포함하는 새 데이터를 제출하고 모델이 가장 가능성이 높은 레이블을 예측하도록 할 수 있습니다. 모델을 사용하여 예측하는 것을 추론이라고 합니다.

소프트웨어 엔지니어가 AI 지원 솔루션을 빌드하는 데 사용할 수 있는 많은 서비스와 프레임워크에는 애플리케이션에서 새 값을 추론하는 데 사용되기 전에 기존 데이터로 모델을 학습하는 개발 프로세스가 필요합니다.

확률 및 신뢰도 점수

잘 학습된 기계 학습 모델은 정확할 수 있지만 오류가 없는 예측 모델은 없습니다. 기계 학습 모델에 의해 수행되는 예측은 확률을 기반으로 하며, 소프트웨어 엔지니어는 확률 이론에 대한 깊은 수학적 이해가 필요하지 않지만 예측은 절대적인 진실이 아니라 통계적 가능성을 반영한다는 점을 이해해야 합니다. 대부분의 경우 예측에는 예측이 적용되는 확률을 반영하는 관련 신뢰도 점수가 있습니다. 소프트웨어 개발자는 신뢰도 점수 값을 사용하여 예측을 평가하고 적절한 임계값을 적용하여 애플리케이션 안정성을 최적화하고 한계 확률을 기반으로 하여 예측의 위험을 완화해야 합니다.

책임 있는 AI 및 윤리

소프트웨어 엔지니어가 소프트웨어가 사용자와 사회 전반에 미치는 영향을 고려하는 것이 중요합니다. 사용에 대한 윤리적 고려사항을 포함합니다. 애플리케이션에 인공 지능을 도입할 때 이러한 고려 사항은 AI 시스템의 작동 방식 및 결정을 알리는 방식의 특성으로 인해 특히 중요합니다. 확률적 모델을 기반으로 하며, 이는 학습된 데이터에 따라 달라집니다.

AI 솔루션의 인간과 같은 특성은 사용자에게 친숙한 애플리케이션을 만드는 데 상당한 이점을 제공하지만 사용자가 정확한 의사 결정을 내리는 애플리케이션의 기능에 상당한 신뢰를 제공할 수도 있습니다. 잘못된 예측이나 AI 기능의 오용으로 인해 개인이나 그룹에 피해를 줄 수 있는 가능성은 중요한 문제입니다. 또한 AI 지원 솔루션을 빌드하는 소프트웨어 엔지니어는 위험을 완화하고 공정성, 신뢰성, 피해 또는 차별로부터 적절한 보호를 보장하기 위해 고려해야 하는 사항을 적용해야 합니다.