일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- spring reactive programming
- 문자형을 날짜형으로
- 마이바티스 트랜잭션
- Meta Table
- org.json
- 스프링 배치 메타 테이블
- jar 소스보기
- date_format
- 마리아디비
- 성능개선
- JSON 분해
- spring webflux
- nonblocking
- multi update
- git stage
- JSON 분할
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- JSONObject 분할
- JSONArray 분할
- str_to_date
- 스테이지에 올리기
- 폐기하기
- 무시하기
- 스프링 리액티브 프로그래밍
- JobExecutionAlreadyRunningException
- 스프링 웹플럭스
- batchInsert
- JSON 분리
- 스프링 배치 공식문서
- 날짜형을 문자형으로
- Today
- Total
ebson
[AI 활용과 개발] ChatGPT 를 통해 ChatGPT 더 알아보기 본문
개발하기 위한 새로운 기술을 사용할 때나 업무 효율성 향상을 위해 새로운 서비스를 사용할 때나 그것이 제공하는 공식문서를 보거나 관련된 책이나 영상을 찾아보면서 더 알아보는 과정은 시간이 조금 걸리더라도 좋은 방법이다. 그것의 장단점을 파악할 수 있고 시간을 들인만큼 더 빠르게 익숙해 질 수 있기 때문이다. 당장 내가 연구개발을 할 상황이 아니더라도 인공지능 분야는 빠르게 발전하고 활용하기에 따라 가치가 무궁구진하다고 생각하기 때문에 최소한의 지식을 습득해보기로 했다.
ChatGPT 에 대해서 관련 영상들을 찾아서 보다보니 ChatGPT 는 파인 튜닝 기법을 사용해 답변의 정확성과 퀄리티를 높였다고 한다. 그래서 ChatGPT의 개발에 사용된 파인 튜닝에 대해서 ChatGPT님께 여쭤보았다. prompt 를 작성할 때는 ChatGPT가 참고할 자료를 요청하고 출처를 함께 작성하도록 요구하는 것이 답변의 신뢰성과 정확성을 높이는 것에 도움이 된다고 한다.
참고로 보는 바와 같이 오타(공심 -> 공식)를 좀 내도 ChatGPT는 잘 알아듣고 대답해준다. 이상은 ChatGPT 의 대답이다.
파인 튜닝 기법이란 요약하자면, 학습 대상의 대량의 데이터를 사전 학습했다는 가정 하에 의도하는 목적에 따른 데이터셋과 방법으로 최적화하는 과정이다. ChatGPT는 인터넷에서 수집한 수조 개의 문서로 사전 학습 후, 강화 학습과 인간 피드백을 통해 파인 튜닝을 거쳤다고 한다. 특히, 인간 피드백 기법은 사람들을 대상으로 ChatGPT 의 대답들 중 가장 그럴듯한 것을 순서대로 점수를 매기도록 한 것이라고 한다. 이렇게 하면서 사람이 보기에 더 자연스럽고 그럴듯한 답변에 대한 학습이 추가로 이루어질 수 있었을 것이다.
다음으로는 ChatGPT 개발에 사용되었다는 트랜스포머 알고리즘에 대해서 질문 해보았다. 참고로, 관련 문서의 링크 또는 문서의 전체 텍스트를 prompt로 전달하고 해석해달라는 요청도 가능하다고 한다. 그러나 나는 단지 관련 뉴스와 공식 문서들을 참고해달라고 입력해보았다. 다음은 ChatGPT의 대답이다.
솔직히 말하면 이상의 답변만으로는 트랜스포머 알고리즘의 장점에 대해서 이해하기가 어려웠다. 사족으로, 트랜스포머 알고리즘이 자연어 처리 분야의 혁신적인 모델 구조인 이유 중 하나는 기존 자연어 처리 분야의 동작 방식이 문법 구조를 분석하고 이에 기반하여 답변을 만들어내는 방식이 핵심이었다면, 트랜스포머 알고리즘은 각각의 문자 요소 마다 그 다음에 올 수 있는 모든 문자 요소를 찾고 가장 확률이 높은 요소를 붙이는 방식을 수없이 반복하여 답변을 만들어내는 방식이었기 때문이다. 전자는 사람이 생각할 수 있는 기계에게 언어를 학습시키는 방법이라면, 후자는 사람이 어떻게 언어를 깨우치는가 하는 질문에서 출발한 접근방식일 수 있다. 그리고 후자의 트랜스포머 알고리즘은 우리가 보는 바와 같이 자연스러운 대화가 가능한 인공지능을 가능하게 했다.
한편, 이상의 트랜스포머 알고리즘을 사용한 모델이 ChatGPT 외에도 BERT 라는 것이 있다기에 이에 관하여 질문해보았다. 다음은 ChatGPT의 답변이다.
다음으로 같은 방식으로 ChatGPT 에 관해서도 설명해주기를 요청했다. 다음은 ChatGPT의 답변이다.
역시 구글 검색을 통해 쉽게 얻을 수 있는 정보들이지만 인공지능이 실시간으로 대답해준다는 것 만으로 나처럼 이런 뻔한 내용을 질문해볼 사람들이 많을 것이라고 생각한다. ChatGPT 4.0은 그 이전 버전보다 학습 데이터의 양과 파라미터 개수가 업그레이드 되었다. 사족으로, 그 이전 버전의 ChatGPT가 미국 변호사 시험을 하위 10%의 성적으로 통과한 반면 ChatGPT 4.0은 상위 10% 의 성적으로 통과했다고 한다. 훨씬 더 똑똑해졌다고 생각할 수 있다.
그러나 여전히 할루시네이션 문제는 존재하고 어떤 사람들은 궂이 유료 구독 신청을 하고 4.0 버전을 사용해야 할 필요성을 못 느낀다고 하기도 한다. 필자는 2달 정도 4.0을 사용해 보았고 현재는 구독을 중단했다. 벌써 ChatGPT를 무료로 사용할 수 있는 다른 서비스들이 등장했기 때문이다. 이에 관해서는 기회가 되는 다른 포스팅에서 다뤄보겠다.
트랜스포머 알고리즘은 확률을 기반으로 답변을 생성해내는 자연어 처리 알고리즘이다. 그래서 자연어 처리 머신러닝 분야에서 벡터 값을 사용해 유사도를 측정하는 방법에 대해서도 ChatGPT 에게 질문해 보았다. 다음은 ChatGPT의 답변이다.
트랜스포머 알고리즘에서도 벡터를 사용한다는 것은 각각의 다음 단어 또는 문자 요소를 선택할 때에 N차원의 벡터 값을 기반으로 가장 확률이 높은 것을 계산하여 선택한다는 것이다. 사족으로, 카카오 채널 챗봇의 인텐트(발화)에 대한 머신 러닝도 이와 같은 벡터 값을 기반으로 하는 것이다. 사용자가 입력한 발화로부터 N차원의 벡터 값을 기반으로 가장 유사도가 높은 블록으로 연결되는 식이다. 필자는 카카오톡 채널 챗봇과 연동한 웹 백엔드 서버를 개발 중이다. 카카오톡 채널 챗봇에 관해서는 기회가 되면 다른 포스팅에서 다루겠다.
다음으로는 ChatGPT 의 개발 과정에서 파인 튜닝하기 위해 사용된 강화 학습과 휴먼 피드백 방법에 대해서 한번 더 자세히 질문해보았다.
마지막으로, ChatGPT 는 대량의 텍스트를 prompt 으로 입력하는 것이 가능하다고 했다. 이와 관련해서 머신 러닝 분야에서 Instruction-tuned LLM 을 사용하는 방법인 RAG에 대해서 ChatGPT 에게 질문해 보았다.
ChatGPT의 대답대로 ChatGPT의 UI 를 보면 RAG 기능을 제공하는 것처럼 보이지는 않는다. 예를 들어, 참고용 문서 추가 버튼이나 참고용 논문 검색 팝업 버튼이 있는 것은 아니다. 단지 단일한 prompt 입력란이 있을 뿐이다. 하지만 잘 알려진 대로, 이 prompt 입력란에는 대량의 텍스트를 입력할 수 있다. 그리고 ChatGPT는 모든 입력된 prompt 들을 계속해서 학습하고 있다.
이상으로 ChatGPT를 사용해 ChatGPT 의 개발에 사용된 머신 러닝 기법, 사용된 알고리즘의 핵심 원리와 동작 방식, ChatGPT를 활용하는 것에 도움이 될만한 개념 등을 공부해보았다. 인공지능이 실시간으로 답변을 생성해주기 때문에 집중도와 흥미도를 유지하는 것에 이점이 있는 것 같다. 할루시네이션이 발생할 염려가 있는 것은 사실이지만, 참고할 공식 문서의 모든 출처들을 알고있는 것이 아닌 이상, 구글 검색을 통해 공부하더라도 잘못된 정보를 접할 확률이 존재하는 것은 다르지 않다고 생각한다.
인공지능의 발전이 많은 사람들의 삶을 바꿀 수 있고 그 발전속도가 예측하기 어려울 만큼 빠르기 때문에, 고급 수학이나 인공지능 분야에 대하여 문외한이더라도 그것에 관하여 자신이 받아들일 수 있는 범위 내에서 공부해보는 것은 충분히 가치있는 일이라고 생각한다. 그런 의미에서 초거대AI 분야에서 세계적으로 인정받은 국산 AI인 클로바X에 관해서도 얕게나마 공부해 볼 기회가 있었으면 좋겠다. 향후 ChatGPT 처럼 세계의 이목을 끄는 서비스들이 국내에서도 계속 등장하기를 기대하고 있다.
'KAKAO CHATBOT' 카테고리의 다른 글
[AI 활용과 개발] ChatGPT 를 활용해 스프링의 핵심원리 (DI, IOC) 관련 코드 작성하기 (ApplicationContext 사용하기) (0) | 2024.05.09 |
---|---|
[AI 활용과 개발] 카카오 빌더 개발문서 참고하여 필수 테이블 설계하기 (0) | 2024.05.08 |
[AI 활용과 개발] ChatGPT 가 안 좋아할 질문 해보기 (0) | 2024.02.06 |
[주요 개념] 모두 보기 (0) | 2023.07.15 |
[주요 개념] 내 정보 (0) | 2023.07.14 |