AI / ML 을 활용하여 코드를 검토한다?
오늘은 AI 를 활용하여 개발을 하는 것에 대한 개발자들의 응답을 담은 기사를 읽고 생각정리를 해보았다.
개발자들은 소프트웨어 개발 프로젝트에서 생성형 AI를 사용하는 것에 대해 가장 심각한 문제로 뽑는 것이 있다.
바로 개인정보나 기업의 지적재산 접근하는 것에 대한 문제이다.
실제로 여러 기업, 특히 유명 대기업에서 최근, 이와 비슷한 사례로
GPT사용으로 인한 회사의 지적재산 유출때문에 크게 이슈화가 되기도 하였다.
이렇게 많은 개발자가 생성형 AI사용시, 수반하는 위험을 인지하고 있으나,
이 기술이 매우 유용한 기술이라는 것도 잘 인식하고 있다.
'2023 Global DevSecOps Report Series'에서는 이같은 조사결과를 담았다.
1000명 이상의 글로벌 고위기술 임원, 개발자 , 보안 및 운영 전문가가 참여하였다.
응답자 10명 중 9명은 AI도구 사용 여부를 결정 시, 개인정보 보호와 지적 재산권 보호를 중요히 고려한다고 답하였다.
설문조사에 따르면,
이러한 단점에도 불구하고 약 1/4은 이미 소프트웨어 개발에 AI도구를 사용하고 있다고 답하였고,
약 2/3(64%)는 향후 2년 이내에 도입할 계획이라고 답하였다.
충격적인건 AI 도입계획이 아직 없다고 답한 개발자는 8%에 불과하였으며,
1%만이 AI사용을 금지하겠다고 응답했다.
프로그래밍에 AI사용 퍼센테이지는 다음과 같다.
- 문서 작업 시, 자연어 지원 챗봇과 생성형 AI는 응답자의 41%가 사용중이고
- 개발자들의 코드변경 사항 요약 생성은 약 39%가 사용중이며
- 머신러닝 모델 실험 추적은 응답자의 38%가 사용중이라고 답하였다.
- 코드 제안 및 생성에도 응답자의 36%가 답할정도로
AI를 적극적으로 활용하고 있었다.
내 생각
개인적으로 AI 개발을 매우 흥미있게 공부중인 나는 위에서 언급한 단점들을 고려하더라도 AI 기술을 사용하는 것이 합리적이라 생각된다.
시간, 에너지 효율측면에서 너무 유용하기 때문이다.
또한 시대의 흐름이라 생각하며 그 시대의 진보하는 기술을 금지하고 받아들이지 못하는 행위는 역사적으로 볼 때 도태될 확률이 매우 높다.
위 결과를 놓고 보았을 때 코드를 생성하는 것만이 AI의 전부가 아니다.
개발자들이 실제로 업무를 할 땐 코딩 뿐만 아니라 전처리, 테스트, 문서화, 유지관리, 취약점 식별, 디버깅 작업 등에 대부분의 시간을 쏟기 때문에 다양한 분야에서 효율적으로 AI가 활용될 수 있다.
나 또한 지적재산 유출, 보안에 대해 염려를 안해본 것은 아니다.
지난 언어생성모델 프로젝트를 진행하면서 느꼈던 것이,
요즘엔 pre trained된 모델들이 매우 많이 나오고 있고 또 점점 발전하기에,
이 모델을 가지고 회사의 task에 맞는 모델을 직접 학습시켜 만들어,
회사 내의 자체적인 모델을 만들어놓고 사용하는 것도 나쁘지 않다는 생각도 해보았다.
물론 비용과 여러 버그들이 많겠지만,
자체 라이브러리를 만들어 사용하는 것처럼
자체 AI모델을 만드는 것은 어떠할까 라는 고민을 해보았다.