[DevCourse] Day 4 - Gen AI

한상우·2023년 11월 23일
0

Data Science Devcourse

목록 보기
4/25
post-thumbnail

0. Gen AI란?

AI(Artificial Intelligence)에 대한 정의

  • 존 매카시의 정의 (What is Artificial Intelligence?) : "지능형 기계, 특히 지능형 컴퓨터 프로그램을 만드는 과학 및 공학이다. 이는 컴퓨터를 사용하여 인간의 지능을 이해하는 유사한 작업과 연관되어 있지만, AI는 생물학적으로 관찰할 수 있는 방법에만 국한될 필요가 없다."

  • AI의 활용도 측면에서 생각해보면, "인간이 하는 일을 대신 해주는 시스템"이라고 정의할 수도 있다.

Gen AI(Generative AI)란?

  • Gen AI = 생성형 AI : 학습된 컨텐츠를 바탕으로 새로운 컨텐츠를 만드는 AI. 프롬프트를 바탕으로 대답을 예측하거나, 새로운 컨텐츠를 생성한다.

Gen AI의 예시

  • ChatGPT : OpenAI에서 개발한 대화형 AI 서비스.

  • v0 by Vercel (beta) : Vercel에서 개발한 AI 리엑트 컴포넌트 생성 서비스.

  • MS Designer : Microsoft에서 개발한 AI 디자인 생성 서비스.

1. Gen AI의 활용

Gen AI 사용시 주의사항

  • 모델의 훈련 데이터 부족, 훈련 데이터의 최신성 부족, 훈련 데이터의 품질, 프롬프트 디자인의 문제 등 여러 요인으로 인해 부정확하거나, 무의미하거나, 완전히 조작된 정보를 생성할 수 있다. (Hallucinations of AI - IBM, "What are AI hallucinations?")

  • 일반 사용자의 입장에서는, 정확한 정보를 얻기 위해 데이터셋을 최신화하거나 품질을 개선할 수는 없다. 결국 사용자가 대화형 인공지능을 잘 활용하기 위해서는 "좋은 프롬프트"를 입력하는 것이 최선이다.

  • 좋은 프롬프트는 다음의 요소들을 포함하고 있어야 한다.

    • Role : AI의 역할을 지정해준다
    • Task : AI가 어떤 일을 해야 하는지 알려준다
    • Objective : AI가 하는 일에 대한 목표를 알려준다
    • Tone : AI가 어떤 분위기의 생성물을 만들어낼지 알려준다
    • Format : AI가 어떤 형식으로 생성물을 만들어낼지 알려준다
    • Restriction : AI의 생성물에 제한 범위를 설정한다
Ex) ChatGPT에 대해서 잘 모르는 사람에게 ChatGPT에 대해서 설명해라

Your new role is [article writer] and your task is to [write an introduction].

Your main [objective] is to explain what ChatGPT is, to people who are
uninformed about the subject.

The tone you will use is [fairly neutral, but still enthusiastic].

First,you'll [explain what ChatGPT is and then you'll write a tagline]. 

I would like this introduction to be [no longer than 8 lines]
  • 개인적인 생각이지만, ChatGPT는 한국어보다 영어를 더 잘 알아듣는 것 같다. 가능하면 영어로 프롬프트를 만들어주자

GenAI를 적용한 서비스 (기존 서비스 + AI)

  • Duolingo MAX : 유명한 언어학습 서비스인 Duolingo에서는 ChatGPT 4.0을 기반으로 RoleplayExplain my Answer 기능을 새롭게 선보였다.

    • Roleplay : AI를 기반 대화 파트너 기능
    • Explain my Answer : 사용자의 실수에 대해서 문법 규칙을 세분화하여 설명해주는 기능

  • Morgan Stanley : 자산 관리와 관련된 방대한 내부 데이터를 내부 직원이 쉽게 접근 할 수 있도록 ChatGPT 4.0 기반 챗봇을 개발.

3. 실습 : ChatGPT를 활용한 간단 데이터 분석

  • ChatGPT 유료버전을 사용중이라면 Code Interpreter를 사용하여 편하게 데이터 분석이 가능하다. 하지만, 필자는 아직 유료버전 대기상태라 무료버전을 기준으로 실습을 진행하였다.

  • 분석할 데이터는 현재 캡스톤디자인 프로젝트에서 사용하고 있는 국내 여행로그 데이터로 선정하였다. 출처는 AI-Hub이며, 프로젝트를 위해서 전처리를 해 놓은 상태의 데이터이다.

  • 채팅 로그
    Step 1 : ChatGPT에게 데이터의 형식 제공 및 해당 데이터에서 얻을 수 있는 insight에 대한 답변을 요청
    Step 2 : 특정 feature에 대한 상관분석/시각화 코드 요청
    Step 3 : 코드를 실행한 결과 (Correlation Matrix Heatmap)에 대한 분석 요청

# Assuming your dataset is loaded into a DataFrame named 'df'
# If not, load your dataset using pd.read_csv('path_to_your_dataset.csv')
# Replace 'path_to_your_dataset.csv' with the actual path to your CSV file.

# Example:
# df = pd.read_csv('path_to_your_dataset.csv')

# Assuming the columns are named A to O
# If your columns have different names, replace them accordingly

# Select relevant columns for correlation analysis
selected_columns = ['DGSTFN', 'REVISIT_INTENTION', 'RCMDTN_INTENTION']

# Create a subset DataFrame with selected columns
correlation_df = df[selected_columns]

# Compute the correlation matrix
correlation_matrix = correlation_df.corr()

# Visualize the correlation matrix using a heatmap
plt.figure(figsize=(8, 6))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f", linewidths=.5)
plt.title('Correlation Matrix: DGSTFN, REVISIT_INTENTION, RCMDTN_INTENTION')
plt.show()
	
  • 코드 실행 결과 :

  • 일련의 채팅으로 얻은 Correlation Matrix Heatmap이다. ChatGPT의 분석 결과에 따르면, 특정 여행지에 대한 만족도(DGSTFN), 재방문 의향 점수(REVISIT_INTENTION), 추천 의향점수(RCMDTN_INTENTION)는 모두 양의 상관관계(positive correlations)을 가지고 있다.

4. 마무리

  • AI 전공하시는 교수님이 AI나 LLM쪽 전공을 해서 1년 공부하면, 그동안 10년 더 공부할 내용이 나온다고 우스갯소리를 하신 것이 생각난다. 대부분의 사람들에게는 Gen AI의 원리보다는, 활용 방법에 대해서 공부하는 것이 더 좋은 것 같다.

  • 또한 앞에서 언급한 AI-hub는 과학기술정보통신부와 한국지능정보사회진흥원에서 관리하고 있으며, 재미있는 데이터가 많으니 관심이 있다면 방문해보는것을 추천한다.

profile
개인 공부용 블로그입니다

0개의 댓글

관련 채용 정보