AI융합 프로젝트
- 아키텍처 UML 첨부 -
본 글은 ‘생성형 AI개발자(챗봇)’ 수강을 마무리하는 프로젝트로 정리하였습니다.
- 서비스
개발과 서비스는 다릅니다. 아무리 천재적인 개발자도, 독창적인 아이디어가 있어야 서비스를 할 수 있기 때문입니다. 그러나 반대로 아이디어가 있다면, 서비스는 시작 할 수 있습니다. 부족한 개발 부분은 AI 및 다른 사람의 도움을 받을 수 있기 때문입니다. 위 환경은 점점 좋아지고 있습니다. 나는 후자에 속하는 사람으로, 이미 정부지원사업에 선정된 경험도 있습니다. 여기서 서비스는 시작이지, 성패를 말하는 것은 아닙니다. 성패는 인간 영역이 아닙니다. 나는 오로지 준비할 뿐입니다. 산이 있어 산에 간다는 말이 있듯이, 도전할 준비를 할 뿐입니다.
- 구현설계
‘프로젝트 성패는 구현을 시작하기 전에 이미 결정된다. 계획을 잘못 수립했을 때 구현 과정에서 할 수 있는 최선의 행동은 손해를 최소화하는 것이다.’ -Code Complete
2016년 Googl은 당시 최고의 시장점유율을 갖고 있던 ApI.ai를 인수하여, 자신의 머신러닝과 결합하여 Dialogflow를 탄생시켰습니다. 위 API 연동되는 코어에 관심을 가지고, 개발하기로 결심하였습니다. 그리고 이것은 node.js로 만들어졌지만, 주 언어는 python을 선택하였습니다. AI융합을 위해서입니다. 그리고 2013년 특허등록 했던, c360c를 2018년 완성하였습니다. 그러나 전체적으로는 실패를 반복하고 있었습니다. 세월만 보내다가, 2022년 위 책을 만나면서 설계의 중요성을 깨닫게 되었습니다. 그 결과, 지금은 모래성을 쌓는 실패가 아닌, 시행착오를 즐기고 있습니다. 어차피 설계는 한 번에 완성되지 않습니다. 결국 설계가 완성되어야 코어를 할 수 있고, 코어가 완성되어야 챗봇도 할 수 있습니다.
- UML
입력 편향 가중 은닉 활성 출력의 퍼셉트론, MVC패턴
서비스는 크게 엔진(기술)과 코어(콘텐츠)로 구분됩니다. 그 중에서 엔진의 아키텍처를 객체로 구분하고, 그 관계를 UML로 그려서 첨부하였습니다. 각 객체의 제목에서 알 수 있듯이, 첨부한 UML은 신경망 구조의 퍼셉트론을 차용하였습니다. 그리고 MVC패턴을 사용하였습니다. 즉 AI챗봇 아키텍처에서 객체를 찾아, 그 안의 속성과 메소드를 정리하였습니다. 이제는 어떤 사물을 보든, 객체를 찾아 UML을 그릴 수 있습니다. 이것은 무엇이든, 지도학습 비지도학습 강화학습의 AI와 융합할 수 있다는 말이기도 합니다. 당신 전문이 무엇인가? 라고 묻는다면, 이젠 자신 있게 '구현설계(AI융합)’라고 답변하겠습니다.
- 엔진(기술)
‘거인의 어깨를 올라타라’ -개발자 세계에서 회자되는 말
Dialogflow는 시나리오를 작성하는 플랫폼으로, AI챗봇을 노코딩으로 개발합니다. 이것을 선택하였다면, FireBase(서버) GCP(클라우드) 선택 역시 불가피합니다. 왜냐하면 다른 회사 서비스를 선택해서, 굳이 호환성과 속도를 고민해야 할 이유가 없기 때문입니다. 기술적으로 FireBase는 서버리스로 SQL이 아닌 JSON으로, 실시간 저장합니다. GCP는 외부적으로 코어 메신저 블로그를 API연동시킵니다. 그리고 BERT는 시나리오로 복귀할 수 있도록, 자연스럽게 대화를 이끄는 AI입니다.
- 코어(콘텐츠)
Attention is all you need -Transformer 논문제목
2017년 위 논문은 인공지능의 혁명을 일으켰습니다. 이것은 seq2seq 착안되어, BERT(인코더) GPT(디코더) 구조로 되어 있습니다. 이것을 응용한, 챗GPT는 지금의 세계적인 돌풍을 일으키고 있습니다. 나의 관심사는 위 attention(中)입니다. 나의 인생도 여기에 담겨 있기 때문입니다. 이것은 all you need처럼, 모든 것을 융합할 수 있습니다. 코어는 누구도 가본 적이 없는, 외로운 길입니다. 하얀 백지상태에 시작해서, 오랫동안 방황하고 싸워왔습니다. 다행히 AI융합 원리는 쉽게 찾은 듯합니다. 딥러닝 트랜스포머 핵심이므로, 교재에 잘 설명되어 있기 때문입니다. 이제는 실마리도 보이는 만큼, 은근히 자신감도 생깁니다. 그러나 아직 시작일 뿐입니다. 기술적으로 메타의 pytorch 프레임워크, 허깅페이스의 Transformers 라이브러리를 사용하여 fine tuning 합니다.
- API(융합)
“우리의 가슴을 뛰게 하는 것은, 인문학과 융합한 기술이다.” -스티브잡스.
엔진 서버 시장 등 모든 서비스는 미국에서 합니다. 다만 코어만큼은 한국에 연동하고자 합니다. 즉 미국엔진은 구글을 따라가고, 한국코어는 AI융합하여 독자성을 유지할 것입니다. 따라서 API 속도가 생명인 만큼, 한국코어는 FastAPI 프레임워크를 사용할 것입니다. 위 구조는 구글의 기존 서비스를 최대한 활용하게 할 것입니다. 또 그래야 나는 구현설계 시나리오의 AI융합에 집중할 수 있습니다. 따라서 기술은 엔진에 종속되어, 세계 경쟁력을 갖추게 될 것입니다. 콘텐츠는 코어로 독립되어, 위 스티브잡스가 말한 것처럼 인문학과 융합하여 우리의 가슴을 뛰게 할 것입니다. 여기에 더하여, 함께 연구하는 김정겸원장은 한의사학회를 조직하겠다고 하면서, 열심히 공부하라고 합니다.
- 수강후기
2011년 모바일 국비교육을 받았습니다. 2023년 AI챗봇 국비교육은 커리큘럼을 보자마자, 바로 신청 했습니다. 왜냐하면 Dialogflow와 Transformer가 있었기 때문입니다. 커리큘럼의 폭은 넓었습니다. 프론트 백엔드의 풀스택... 머신러닝 신경망 딥러닝 트랜스포머의 인공지능... 이에 따른 각각의 전문용어들... 어렵던 위 전문용어들이 어느새 친숙한 단어들이 되었습니다. 말로만 듣던 이것저것을 한 번씩 해 볼 수 있었던, 소중한 경험이었습니다.
위 수강은 온라인으로 공부하던, 나의 공부 방법을 되돌아보는 계기가 되었습니다. 수강을 하면서 얻은 표준자료는 발췌하여, 주말에 도서실에서 별도로 정리하였습니다. 그리고 설계만 생각하는 나에게, 수업 중에 얻은 힌트도 많았습니다. 흘려버리는 말조차 힌트가 되었습니다. 신일석 강사님께 감사의 말씀을 올립니다. 끝으로 9시부터 18시까지 5개월이 넘는 수업기간 동안, 결적 조퇴 지각을 한 번도 하지 않았습니다. 아마도 내가 유일할 듯... 스스로에게 ‘수고했다’라는 말을 남깁니다.
2024. 3. 이승수