1. 【문항1】 아래 관련 내용에 대하여 분석하시오.
- 기계 학습(Machine Learning), 대규모 언어 모델(Large Language Model), 제너레이티브 AI (Generative AI), 바드(Bard)
: 23년 5월 10일, chatGPT의 대항마가 될 Bard가 출시됐습니다. 바드는 대규모 언어 모델 LamDa를 기반으로 만들어진 인공지능(AI) 검색 엔진 서비스입니다. 대규모 언어 모델(LLM), 인공지능(AI)라는 두가지 키워드가 눈에 띄는데요. Bard를 이해하기 위해서 이 두가지 키워드를 알아보겠습니다.
인공지능(AI)란 무엇일까요? 추상적이고 광범위한 개념으로 인공지능은 컴퓨터에서 작성된 언어를 보고 이해하고 번역하고 데이터를 분석하고 추천하는 기능을 포함하여 다양한 고급 기능을 수행할 수 있는 기술을 말합니다. 기계가 사람처럼 생각하고 추론할 수 있도록 만드는 것입니다. 이미 우리 생활 속에서 인공지능을 쉽게 찾아볼 수 있습니다. 예를 들면 테슬라의 자율주행차, 스마트 스피커(AI비서), 네이버 챗봇(톡톡), 청소 로봇, 이미지 인식(애플, 구글, 마이크로소프트), 개인화 추천(인스타그램, 페이스북), 기계 번역(구글, 파파고) 등이 있습니다.
기계 학습(Machine Learning)은 인공지능(AI)의 하위 집합으로 AI의 학습을 위해 일일이 프로그래밍하는 대신, 컴퓨터가 데이터를 통해 학습하고 경험을 통해 개선하도록 훈련하는 것을 의미합니다. 한마디로 Machine이 Learning한다고 이해할 수 있습니다. 수동적인 기계에서 능동적인 기계가 되는 것입니다. 컴퓨터는 시간이 지남에 따라 경험 및 데이터가 축적되고 패턴을 식별하게 됩니다. 이를 사용하여 새로운 데이터에 대한 예측도 가능합니다. 예를 들어 이미지 분류, 시맨틱 분할(인간 뇌 스캔 종양 여부 진단), 텍스트 분류(뉴스, 블로그 게시글 분류), 회귀 분석(비즈니스 수익 예측), 음성 인식 등이 있습니다. 인간이 놓칠 수 있는 데이터 추세, 패턴을 파악할 수 있어 매우 유용하지만 초기 훈련 비용이 비싸고 시간이 많이 소요되는 단점을 가지고 있는 방법입니다.
대규모 언어모델(LLM)은 대화, 기타 자연 언어 입력에 대해 인간과 유사한 응답을 생성하기 위해 방대한 양의 텍스트 데이터에 대해 훈련된 인공지능을 뜻합니다. chatGPT, Bard가 대표적인 예입니다. chatGPT는 1750억개의 매개변수를 가진 현재까지 가장 크고 강력한 LLM으로 알려져있습니다. 인간의 뉴런 수가 1000억 개에서 100조 개 정도로 추정되는데 GPT 모델의 매개변수의 수가 비슷한 걸 볼 수 있습니다. 인간만큼은 아니지만 상당히 정교한 요약, 분석, 추론 능력을 가진 이유를 알 수 있습니다. LLM의 간단한 예를 들어보겠습니다. "The Capital of France is" 라고 입력하면 LLM은 뒤에 나올 단어를 추론하여 "The Capital of France is Paris."라는 답변을 합니다. 상당히 흥미롭고 편리한 기능이지만 한계도 존재합니다. 앞서 설명드린 것처럼 LLM은 방대한 양의 텍스트를 통해 훈련됩니다. 이 데이터들 안에는 상당한 양의 편향이 존재하기 때문에 잘못 학습되면 기존의 사회적 불평등(성별, 인종, 성적 지향)을 강화시킬 수 있습니다. 또한 데이터 보호에 취약하고, 문장을 생성하고 나서 도덕적인 책임을 지지 않습니다. 윤리적인 문제가 발생할 수 있습니다.
제너레이티브 AI (Generative AI)는 이용자의 특정 요구에 따라 결과를 생성해내는 인공지능입니다. 데이터를 학습하고 소설, 시, 이미지, 비디오, 코딩, 그림 등 다양한 콘텐츠 생성에 이용되고 있습니다. chatGPT, Bard, Midjourney가 대표적인 예입니다. Generative Ai를 실무에 적용하면 생산성을 크게 증가시킬 수 있습니다.
앞서 정리한 개념들로 Bard를 정리해보면 다음과 같습니다. Bard는 대규모 언어모델 Lambda를 기반으로 만들어진 인공지능(AI) 검색 엔진 서비스입니다. 기계학습(machine learning) 알고리즘 사용하여 텍스트와 코드의 패턴을 학습하고, 그 지식을 바탕으로 새로운 텍스트를 생성, 번역, 콘텐츠 생성을 수행합니다.
Bard를 사용해본 결과 답변 속도는 빠르지만 부정확한 데이터가 많았고, 평균적인 답변을 내놓아서 직접 검색을 이용하는 것이 나을 때가 있습니다. 아직은 개발 초기 단계이기 때문에 AI를 맹신하는 것보다는 적절한 의심을 하며 사용하는 것이 좋다고 생각합니다.
2.【문항2】 파이썬의 내장함수를 오버라이딩하여 아래 기능을 포함하는 복소수 클래스를 정의하시오.
- 기능
- 객체를 문자열로 표현하는 함수 (복소수 형태로 출력)
- 덧셈 연산자
- 뺄셈 연산자
- 곱셈 연산자
- 길이(복소수의 크기)
- 비교 연산 (==)
- 비교 연산 (!=)
- 절대값