본문 바로가기
📂 기타/◾ MUMBLING ...

[Bard/Chat GPT/CLOVA] 챗봇 춘추전국시대에서 살아남기 (Bard 사용 후기)

by 이 정규 2023. 5. 11.
728x90
반응형
반응형

챗봇 춘추전국시대가 도래했다.

바드(Bard)

구글이 대화형 생성 인공지능(generative AI) '바드(Bard)'를 지난 3월 미국과 영국에서 출시하고 말도 많고 탈도 많았던 바드가 두 달도 채 안돼 훨씬 더 뛰어난 새로운 대형언어모델(LLM)인 '팜2(PaLM 2)' 기반으로 고급 수학 및 추론 기술과 코딩 기능 등을 포함하고 10일(현지시간) 한국을 비롯한 180개국에 동시 출시했다.

이날 미국 캘리포니아주 마운틴뷰 쇼어라인 엠피씨어터에서 개최한 '구글 연례 개발자 회의(I/O)'에서 구글과 모회사 알파벳(Alphabet)의 CEO 순다르 피차이(Sundar Picha)는 "오늘부터 바드 이용을 위한 대기자 운영을 종료하고 사람처럼 묻고 답하는 인공지능 챗봇 바드를 미국과 한국을 비롯해 전 세계 180개국에서 전면 오픈했다"고 밝혔다.

출처 : 인공지능신문(https://www.aitimes.kr)

챗 지피티(Chat GPT)

체인파트너스(대표 표철민)는 한글 대화에 최적화된 챗GPT 서비스인 ‘네이티브’를 출시했다고 6일 밝혔다.

네이티브는 사용자의 모든 질문을 영어로 바꿔 챗GPT에 전달해, 보다 정확한 답변을 받을 수 있게 해준다. 사용자가 네이티브에 한글로 질문하면 네이티브가 이를 영어로 자동 번역해 챗GPT에 전달하고, 챗GPT가 영어로 답변한 내용은 다시 한글로 번역해 사용자에게 제공한다.

출처 : 이데일리신문(https://www.edaily.co.kr/)

클로바(CLOVA)

네이버가 최근 생성형 인공지능(AI) 트렌드에 따라 올 여름 차세대 초대규모 AI 하이퍼클로바X를 선보일 계획이다.

최수연 네이버 대표는 8일 1분기 실적발표 콘퍼런스 콜에서 “경쟁력 있는 국내 초대규모 AI 생태계를 만들어 나가기 위해 올 여름 차세대 초대규모 AI 하이퍼클로바X를 선보일 예정"이라며 "하이퍼클로바X는 전세계 3번째이자 국내 최초 최대 규모 한국어 학습량을 보유한 GPT4 대응 모델”이라고 소개했다.

출처 : 머니투데이뉴스(news.mt.co.kr)

 
다양한 인공지능 챗봇이 우후죽순으로 등장하고 있다. 사용자가 직접 이 놈, 저 놈 써보고 골라잡아야 하는 판국이다. 물론 어려운 용어들과 함께 "슈퍼울트라캡숑 기능 탑재!!" 라고 되어있다면 그게 좋은가보다 하고 몰림 현상이 있을 수 있겠지만 말이다.
오늘은 Chat GPT는 여러모로 많이 사용해봤지만, Bard는 아직 사용해보지 않아 사용해보고자 한다. 추후에 CLOVA도 사용해볼 예정이다.
알고리즘 기초에 대한 내용을 블로그에 쓸거라고 설명하고, 알고리즘의 종류와 예시 그리고 특정 알고리즘에 대한 예제와 코드까지 뽑아내보겠다.
프롬프트 - 답 형식으로 진행한다.

# prompt
블로그에 알고리즘 기초를 설명하는 글을 쓰려고 해
# answer
알고리즘의 기초
알고리즘은 특정 작업을 수행하는 단계 집합입니다. 문제에 대한 해결책을 제공하는 명확하고 간결하며 반복 가능한 지침입니다. 알고리즘은 컴퓨터 과학, 수학 및 기타 분야에서 광범위하게 사용됩니다.

알고리즘의 역사는 수세기 전으로 거슬러 올라갑니다. 최초의 알고리즘은 기원전 250년경 바빌로니아인에 의해 개발된 사칙연산 알고리즘이었습니다. 그 이후로 컴퓨터 과학의 발전에 따라 알고리즘이 크게 발전했습니다.

알고리즘은 간단하거나 복잡할 수 있습니다. 가장 간단한 알고리즘은 정수의 합을 계산하는 간단한 단계일 수 있습니다. 가장 복잡한 알고리즘은 웹 검색 엔진이 결과를 반환하는 방법을 결정하는 것과 같이 매우 복잡할 수 있습니다.

모든 알고리즘에는 다음 네 가지 필수 요소가 있습니다.

입력: 알고리즘에 제공되는 데이터입니다.
출력: 알고리즘이 생성하는 데이터입니다.
단계: 알고리즘이 수행하는 단계입니다.
의사 결정: 알고리즘이 수행하는 결정입니다.
알고리즘은 프로그램에서 자주 사용됩니다. 프로그램은 문제에 대한 솔루션을 제공하는 일련의 알고리즘입니다. 알고리즘은 또한 수학 및 기타 분야에서 사용됩니다. 예를 들어, 알고리즘은 최단 경로 문제를 해결하는 데 사용됩니다.

알고리즘은 효율적이고 정확해야 합니다. 효율적인 알고리즘은 짧은 시간에 실행되는 반면 정확한 알고리즘은 항상 올바른 출력을 생성합니다.

다음은 잘 설계된 알고리즘의 몇 가지 특성입니다.

간결성: 알고리즘은 이해하고 구현하기 쉬워야 합니다.
표현력: 알고리즘은 모든 종류의 문제를 해결할 수 있어야 합니다.
효율성: 알고리즘은 짧은 시간에 실행되어야 합니다.
정확성: 알고리즘은 항상 올바른 출력을 생성해야 합니다.
알고리즘은 컴퓨터 과학, 수학 및 기타 분야에서 중요한 도구입니다. 그들은 효율적이고 정확하며 문제를 해결하는 데 사용할 수 있습니다.

# prompt
코딩테스트에 주로 이용되는 알고리즘 종류를 설명해줘
# answer
코딩 테스트에서 자주 사용되는 알고리즘은 다음과 같습니다.

정렬 알고리즘: 정렬 알고리즘은 데이터를 특정 순서로 정렬하는 데 사용됩니다. 가장 일반적인 정렬 알고리즘은 선택 정렬, 버블 정렬, 삽입 정렬 및 퀵 정렬입니다.
검색 알고리즘: 검색 알고리즘은 데이터 집합에서 특정 값을 찾는 데 사용됩니다. 가장 일반적인 검색 알고리즘은 선형 검색 및 이진 검색입니다.
그래프 알고리즘: 그래프 알고리즘은 그래프에서 작업을 수행하는 데 사용됩니다. 가장 일반적인 그래프 알고리즘은 최단 경로 알고리즘, 최소 스패닝 트리 알고리즘 및 트리 순회 알고리즘입니다.
스택 및 큐 알고리즘: 스택 및 큐는 데이터를 저장하고 검색하는 데 사용되는 선형 데이터 구조입니다. 가장 일반적인 스택 및 큐 알고리즘은 스택 푸시, 스택 팝, 큐 엔큐, 큐 디큐입니다.
트리 알고리즘: 트리는 데이터를 저장하고 검색하는 데 사용되는 비선형 데이터 구조입니다. 가장 일반적인 트리 알고리즘은 트리 순회, 트리 루트 찾기, 트리 깊이 찾기 및 트리 너비 찾기입니다.
코딩 테스트에서 자주 사용되는 알고리즘은 이 외에도 많이 있습니다. 알고리즘을 선택할 때는 문제에 따라 다릅니다. 어떤 알고리즘은 다른 알고리즘보다 특정 문제에 더 효율적입니다.

코딩 테스트를 준비하고 있다면 다양한 알고리즘을 공부하고 문제에 가장 적합한 알고리즘을 선택하는 방법을 배우는 것이 중요합니다.

# prompt
스택 및 큐 알고리즘 예시를 주고 구체적으로 설명해줘
# answer
물론입니다. 스택 및 큐 알고리즘의 예는 다음과 같습니다.

스택 푸시: 스택에 항목을 푸시하는 것은 항목을 스택의 맨 위에 추가하는 것을 의미합니다. 스택 푸시는 다음 단계를 따릅니다.

스택의 맨 위에 새 항목을 만듭니다.
새 항목을 스택의 맨 위에 삽입합니다.
스택 팝: 스택에서 항목을 팝하는 것은 스택의 맨 위 항목을 제거하는 것을 의미합니다. 스택 팝은 다음 단계를 따릅니다.

스택의 맨 위 항목을 가져옵니다.
스택의 맨 위 항목을 제거합니다.
큐 인큐: 큐에 항목을 삽입하는 것을 인큐라고 합니다. 큐는 선입선출(FIFO) 데이터 구조이므로 항목은 큐의 맨 뒤에 삽입되고 큐의 맨 앞에 제거됩니다. 큐 인큐는 다음 단계를 따릅니다.

큐의 맨 뒤에 새 항목을 만듭니다.
새 항목을 큐의 맨 뒤에 삽입합니다.
큐 디큐: 큐에서 항목을 제거하는 것을 디큐라고 합니다. 큐는 선입선출(FIFO) 데이터 구조이므로 항목은 큐의 맨 앞에 삽입되고 큐의 맨 앞에서 제거됩니다. 큐 디큐는 다음 단계를 따릅니다.

큐의 맨 앞 항목을 가져옵니다.
큐의 맨 앞 항목을 제거합니다.
이것들은 스택 및 큐 알고리즘의 몇 가지 예일 뿐입니다. 다른 스택 및 큐 알고리즘이 많이 있으며, 각 알고리즘은 고유한 장점과 단점이 있습니다.

# prompt
나는 파이썬으로 스택 팝 사용하는 방법 알려줘
# answer
물론입니다. 파이썬에서 스택 팝을 사용하는 방법의 예는 다음과 같습니다.

# 스택을 만듭니다.
stack = []

# 스택에 항목을 푸시합니다.
stack.append(1)
stack.append(2)
stack.append(3)

# 스택의 맨 위 항목을 팝합니다.
print(stack.pop())
# 출력: 3

# 스택의 맨 위 항목을 팝합니다.
print(stack.pop())
# 출력: 2

# 스택의 맨 위 항목을 팝합니다.
print(stack.pop())
# 출력: 1

# 스택이 비어 있으므로 아무것도 팝되지 않습니다.
print(stack.pop())
# 출력: None

# prompt
스택 팝 문제 하나 내주라
# answer
물론입니다. 스택 팝 문제는 다음과 같습니다.

1, 2, 3, 4, 5의 숫자 목록이 있습니다. 스택을 사용하여 이 목록을 역순으로 재정렬하는 프로그램을 작성하십시오.

# 스택을 만듭니다.
stack = []

# 목록의 각 항목을 스택에 푸시합니다.
for i in range(5, 0, -1):
    stack.append(i)

# 스택의 맨 위 항목을 팝합니다.
while stack:
    print(stack.pop())

출력:

5
4
3
2
1

# prompt
더 어렵게 내주라
# answer
네, 여기 더 어려운 스택 팝 문제가 있습니다.

1, 2, 3, 4, 5의 숫자 목록이 있습니다. 스택을 사용하여 이 목록을 역순으로 재정렬한 다음 각 항목을 짝수와 홀수로 분류하는 프로그램을 작성하십시오. 짝수 항목은 먼저 인쇄되어야 하고 홀수 항목은 나중에 인쇄되어야 합니다.


# 스택을 만듭니다.
stack = []

# 목록의 각 항목을 스택에 푸시합니다.
for i in range(5, 0, -1):
    stack.append(i)

# 스택의 맨 위 항목을 팝합니다.
while stack:
    number = stack.pop()
    if number % 2 == 0:
        print("짝수:", number)
    else:
        print("홀수:", number)

출력:

홀수: 5
짝수: 4
홀수: 3
짝수: 2
홀수: 1

# prompt
고마워 바드 짱!
# answer
천만에요! 오늘 제가 도와드릴 수 있어 기쁩니다.

Bard와 친밀감 형성까지 야무지게 해보았다. Chat GPT와 비교했을 때, 아직 테스트 단계인 걸 감안하고도 Bard가 한국어 프롬프트 입력을 좀 더 잘 받는다고 느껴졌다. 챗봇 춘추전국시대가 코앞으로 다가왔다. 과연 어떤 챗봇이 살아남아 우리의 훌륭한 조수로 남을까 궁금하다. 

728x90
반응형

댓글