AI 프로젝트에서 발생하는 문제와 해결 방안: 삼성물산 PoC 사례를 중심으로
F-Lab : 상위 1% 개발자들의 멘토링
AI가 제공하는 얕고 넓은 지식을 위한 짤막한 글입니다!

AI 프로젝트에서의 도전과 기회
AI 프로젝트는 기술적 도전과 기회를 동시에 제공합니다. 특히 대규모 PoC(Proof of Concept) 프로젝트는 실제 환경에서 기술의 가능성을 검증하는 중요한 단계입니다.
이번 블로그에서는 삼성물산 PoC 프로젝트를 중심으로 AI 프로젝트에서 발생할 수 있는 문제와 해결 방안을 다룹니다. 이 프로젝트는 폐쇄망 환경에서 진행되었으며, 다양한 기술적 도전과 해결 과정을 포함하고 있습니다.
왜냐하면 폐쇄망 환경은 외부 리소스 접근이 제한되기 때문에, 기존의 워크플로우와 기술 스택을 재검토하고 최적화해야 하는 상황이 발생하기 때문입니다.
이 글을 통해 AI 프로젝트에서 발생할 수 있는 문제를 예측하고, 이를 해결하기 위한 실질적인 방법을 배울 수 있을 것입니다.
그럼 이제 삼성물산 PoC 프로젝트의 구체적인 사례를 통해 AI 프로젝트의 도전과 해결 방안을 살펴보겠습니다.
프로젝트 초기 단계: 기술 스택 선택과 워크플로우 설계
프로젝트 초기 단계에서는 기술 스택 선택과 워크플로우 설계가 중요합니다. 삼성물산 PoC 프로젝트에서는 기존 워크플로우를 디파이(DeePy)로 교체하는 실험이 진행되었습니다.
디파이는 초기 실험 단계에서는 성능이 우수했지만, 실제 데이터를 사용한 폐쇄망 환경에서는 여러 문제가 발생했습니다. 특히, 데이터 검색 속도가 느려지고, 핸드셰이크 오류가 발생하는 등 예상치 못한 문제가 나타났습니다.
왜냐하면 디파이는 대량의 데이터를 처리하는 데 최적화되지 않았고, 폐쇄망 환경에서의 테스트가 충분히 이루어지지 않았기 때문입니다.
이러한 문제를 해결하기 위해 프로젝트 팀은 디파이 대신 일부 기능을 파이썬 서버로 전환하는 결정을 내렸습니다. 이 과정에서 기술 스택의 유연성과 확장성을 고려한 설계가 중요하다는 교훈을 얻을 수 있었습니다.
따라서 초기 단계에서 기술 스택 선택과 워크플로우 설계는 프로젝트의 성공 여부를 결정짓는 중요한 요소임을 알 수 있습니다.
문제 발생과 해결: 핸드셰이크 오류와 데이터 포맷 문제
프로젝트 진행 중 가장 큰 문제는 핸드셰이크 오류와 데이터 포맷 불일치였습니다. 핸드셰이크 오류는 SSL 인증서 문제로 인해 발생했으며, 데이터 포맷 문제는 프론트엔드와 백엔드 간의 통신에서 발생했습니다.
이 문제를 해결하기 위해 팀은 TCP 덤프와 와이어샤크 같은 네트워크 분석 도구를 활용했습니다. 이를 통해 문제의 원인을 정확히 파악하고, SSL 인증서를 업데이트하여 핸드셰이크 오류를 해결했습니다.
왜냐하면 네트워크 분석 도구는 데이터 패킷의 흐름을 시각적으로 보여주어 문제의 원인을 빠르게 파악할 수 있기 때문입니다.
또한, 데이터 포맷 문제를 해결하기 위해 프론트엔드와 백엔드 간의 통신 규약을 재정의하고, 테스트 코드를 작성하여 재현성을 확보했습니다.
이러한 문제 해결 과정은 AI 프로젝트에서 발생할 수 있는 기술적 문제를 해결하는 데 있어 중요한 교훈을 제공합니다.
테스트 코드의 중요성과 유지보수
테스트 코드는 프로젝트의 안정성과 유지보수를 보장하는 중요한 요소입니다. 삼성물산 PoC 프로젝트에서는 초기 단계에서 테스트 코드가 부족하여 문제 발생 시 재현성과 원인 분석이 어려웠습니다.
테스트 코드를 작성함으로써 문제를 사전에 예방하고, 발생한 문제를 빠르게 해결할 수 있었습니다. 특히, 엣지 케이스를 포함한 다양한 시나리오를 테스트하여 시스템의 안정성을 높였습니다.
왜냐하면 테스트 코드는 시스템의 동작을 자동으로 검증할 수 있는 도구를 제공하며, 개발자의 실수를 줄이고 유지보수를 용이하게 하기 때문입니다.
따라서 AI 프로젝트에서는 초기 단계부터 테스트 코드를 작성하고, 이를 지속적으로 업데이트하는 것이 중요합니다.
테스트 코드의 중요성을 간과하지 않고, 이를 적극적으로 활용하는 것이 성공적인 프로젝트의 핵심입니다.
폐쇄망 환경에서의 개발과 배포
폐쇄망 환경에서의 개발과 배포는 일반적인 환경과는 다른 도전 과제를 제공합니다. 삼성물산 PoC 프로젝트에서는 폐쇄망 환경에서의 개발로 인해 외부 리소스 접근이 제한되었고, 이는 개발 속도와 효율성에 영향을 미쳤습니다.
이를 해결하기 위해 팀은 로컬 환경에서 충분히 테스트한 후, 폐쇄망 환경으로 배포하는 전략을 사용했습니다. 또한, 도커와 같은 컨테이너 기술을 활용하여 배포 과정을 자동화하고, 환경 간의 일관성을 유지했습니다.
왜냐하면 컨테이너 기술은 환경 간의 차이를 최소화하고, 배포 과정을 간소화할 수 있기 때문입니다.
폐쇄망 환경에서의 개발은 추가적인 도전 과제를 제공하지만, 적절한 도구와 전략을 사용하면 이를 극복할 수 있습니다.
따라서 폐쇄망 환경에서의 개발과 배포를 위한 전략을 사전에 준비하는 것이 중요합니다.
결론: AI 프로젝트의 성공을 위한 교훈
삼성물산 PoC 프로젝트는 AI 프로젝트에서 발생할 수 있는 다양한 문제와 이를 해결하기 위한 교훈을 제공합니다. 기술 스택 선택, 워크플로우 설계, 테스트 코드 작성, 폐쇄망 환경에서의 개발 등 모든 단계에서 신중한 계획과 실행이 필요합니다.
왜냐하면 이러한 요소들은 프로젝트의 성공 여부를 결정짓는 중요한 요인들이기 때문입니다.
AI 프로젝트를 성공적으로 수행하기 위해서는 기술적 도전과 문제를 해결하는 능력뿐만 아니라, 팀워크와 커뮤니케이션도 중요합니다.
이번 사례를 통해 AI 프로젝트에서 발생할 수 있는 문제를 예측하고, 이를 해결하기 위한 실질적인 방법을 배울 수 있기를 바랍니다.
앞으로도 AI 프로젝트에서의 경험과 교훈을 공유하며, 더 나은 기술적 성과를 이루어 나가길 기대합니다.
이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.
