반응형

 

ChatGPT에 대해서

 

openai가 내놓은 인공지능 챗봇, 지금은 무료 버전만 있는데 나중에 유료 버전도 나온다고 합니다.

ChatGPT는 대화를 위해 최적화된 언어 모델로, 주로 정보를 얻기 위한 대화를 하기 위해 사용할 수 있습니다.

 

대화는 한 번의 응답으로 끝나는 게 아니라, 지속적으로 이어나갈 수 있으며 문맥에 따른 후속 대답을 끌어낼 수 있습니다.

또한 로봇은 실수를 인정하기도 하고, 잘못된 전제를 반박하기도 하고, 부적절한 요청을 거절하기도 합니다.

 

모델은 지도학습과 강화학습으로 파인 튜닝했으며, 지도학습의 경우, 인간 트레이너가 사용자와 ChatGPT 양쪽 모두를 연기하는 대화를 모델에 입력했고, 강화 단계에서는 인간 트레이너들이 모델이 이전 대화에서 만든 응답들에 대해 순위를 매겼습니다.

 

ChatGPT는 openai 홈페이지에 들어가 간단하게 구글 로그인을 한 후 이용할 수 있습니다.

https://openai.com/blog/chatgpt/

 

ChatGPT: Optimizing Language Models for Dialogue

We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests. ChatGPT is

openai.com

 

 

 

한계

 

openai에서는 ChatGPT가 아직 부족한 점이 많다는 것과 나아가야 할 길을 알고 있으며 이에 대해 공시하고 있습니다. openai에서 밝히고 있는 현재 수준의 ChatGPT가 가지고 있는 한계점들은 다음과 같습니다.

 

1. ChatGPT는 때때로 그럴듯하게 들리지만 부정확하거나 말도 안 되는 답변을 작성한다. 다음과 같은 이유로 이 문제를 해결하는 것은 어렵다. (1) RL 훈련 중에는 현재 진실의 원천이 없다. (2) 모델을 더 신중하게 훈련시키면 올바르게 대답할 수 있는 질문을 거부하게 된다. (3) 이상적인 답변은 인간이 아는 게 아니라 모델이 아는 것에 의존하기 때문에, 지도 훈련은 모델을 잘못되게 만들 수 있다.

 

2. ChatGPT는 입력 구문을 수정하거나 동일한 프롬프트를 여러 번 시도하는 데 민감하다. 예를 들어, 질문의 한 구문이 주어지면 모델은 답을 모른다고 할 수 있지만, 약간의 구문수정을 하면 정확하게 대답할 수 있다.


3. 이 모델은 종종 지나치게 장황하고 특정 구문을 과도하게 사용한다. 예를 들면 openai에 의해 훈련된 언어모델이라고 명시하는 것 같은 문구들이다. 이러한 문제는 인간 트레이너는 응축된 답변보다는 더 긴 답변을 선호하기 때문에, 이런 트레이닝 데이터를 사용했다는 것과 지나친 최적화 문제로 인해 발생한다.


4. 이상적인 모델은 사용자가 모호한 질문을 제공할 때 질문을 명확히 하기 위해 반문할 것이다. 하지만 현재 ChatGPT모델은 모호한 질문이 들어와도 보통 사용자가 의도한 것을 추측하여 답변한다.


5. 모델이 부적절한 요청을 거부하도록 노력했지만, 때로는 유해한 지시에 응답하거나 편향된 행동을 보일 수 있다. Moderation API를 사용하여 특정 유형의 안전하지 않은 콘텐츠를 경고하거나 차단하고 있지만, 현재로서는 잘못된 부정 및 긍정이 있을 것으로 예상한다. 우리(openai)는 이 시스템을 개선하기 위한 지속적인 작업을 돕기 위해 사용자 피드백을 수집하고 싶다.

 

 

여담으로 ai산업은 완전 자율적으로 학습하고 행동할 수 있는 이상적인 ai수준에 도달하기에 현상태는 아직 한참 모자라지만, 그래도 유의미한 진취는 계속 이뤄지고 있는 것 같습니다.

 

 

 

 

 

 

활용법

 

ChatGPT는 주로 정보를 전달하는 대화에 능숙하고 실제로 그렇게 활용하라고 만들어졌습니다. 사실과 정보의 전달에는 강한 강점을 가지고 있으나, 감정적인 대화는 불가능하여 이런 대화를 시도하면 거절의 답변을 들을 수 있습니다.

 

 

감정적인 대화를 시도하자 거절하는 ChatGPT

 

 

정보를 물어보면 정성껏 답변해줍니다.

 

 

openai에 대해 알려줘

 

 

후속질문을 하면 이전 대화와의 맥락에 맞게 답변을 해줍니다.

 

 

그들(openai)에겐 어떤 상품이 있어?

 

 

 

코딩도 해준다

 

ChatGPT는 뛰어난 코딩실력도 가지고 있었습니다.

파이썬으로 크리스마스 트리를 그려보라고 했습니다.

 

파이썬으로 크리스마스 트리를 그려줘

 

 

라이브러리나 프레임워크도 사용할 수 있습니다.

 

react로 투두리스트 만들어줘

 

리액트로 투두리스트를 만들어달라고 했는데, 생각보다 깔끔한 코드를 뽑아냈습니다. 결과는 이미지가 길어서, 코드를 복붙해왔습니다.

 

import React, { useState } from "react";

const App = () => {
  const [tasks, setTasks] = useState([]);
  const [newTask, setNewTask] = useState("");

  const addTask = (e) => {
    e.preventDefault();
    setTasks([...tasks, newTask]);
    setNewTask("");
  };

  const removeTask = (index) => {
    setTasks([...tasks.slice(0, index), ...tasks.slice(index + 1)]);
  };

  return (
    <div>
      <h1>To-Do List</h1>
      <form onSubmit={addTask}>
        <input
          type="text"
          value={newTask}
          onChange={(e) => setNewTask(e.target.value)}
        />
        <button type="submit">Add Task</button>
      </form>
      <ul>
        {tasks.map((task, index) => (
          <li key={index}>
            {task}
            <button onClick={() => removeTask(index)}>X</button>
          </li>
        ))}
      </ul>
    </div>
  );
};

export default App;

 

ChatGPT의 코딩실력이 너무 뛰어난 것 같아서 더 어려운 프로그래밍을 시켜봤습니다.

 

 

MS 주식 자동매매 코드를 짜달라는 부탁에 대한 답변

 

요구사항이 너무 추상적이었나 봅니다. 더 세부적인 지시를 많이 해야 만들 수 있을 것 같습니다.

 

 

 

 

 

 

개발자는 ChatGPT를 어떻게 활용할 수 있을까?

 

개발자로서 ChatGPT를 활용할 수 있는 방법을 계속 생각해보고 있습니다.

일단은 역시 정보제공에 능한 만큼, 유용한 기술이나 라이브러리 등을 탐색할 때 쓰기 좋았습니다.

(최신 트렌드는 따라잡기 힘든데, 2021년까지의 데이터만 학습데이터로 사용했기 때문입니다. 이 부분은 유료버전이 해결할거라고 기대합니다.)

 

예를 들어 달력을 만들고 싶은데 적합한 리액트 UI라이브러리를 찾아봤습니다.

 

리액트로 달력을 만들고 싶은데 적당한 UI 라이브러리없니?

 

 

하나만 골라줘

 

 

답변

 

 

또 다른 활용법은 역시 코딩을 직접 시키는 것입니다. 하지만 거대한 프로젝트를 온전히 맡기기에는 어렵고, 작은 코드 조각이나 샘플 코드를 얻어내기는 쉬웠습니다. 위에 예시가 있으니 예시는 넘어가겠습니다.

 

마지막으로 또 생각해 본 활용처는 프로그래밍 문제를 어떻게 해결해야 할지 가이드를 받고 싶을 때 질문을 하는 것입니다.

"A라는 문제를 풀고 싶은데, 어떤 방식으로 접근해야 할까?" 하는 질문입니다.

예를 들어 ios 알람 앱을 만들고 싶은데 어떤 순서로 해야 할지 물어봤습니다.

 

IOS 알람앱 만들고 싶어. 어떻게 만들지?

 

답변

 

이외에도 더 있을 것 같은데, ChatGPT는 여러 방면에 유용하여 개발자도 충분히 잘 활용할 수 있는 좋은 기술이 될 것 같습니다.

 

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기