생성형 AI와 프로그래밍의 차이점! 🌟 인공지능의 모든 것 한눈에 보기

김상욱·2024년 7월 14일
0
post-thumbnail

🌐 인공지능 모델 vs 프로그래밍

  • 프로그래밍: 프로그래밍은 입력과 출력의 관계를 명확하게 정의하고, 이를 알고리즘으로 구현하는 과정입니다. 개발자는 문제를 해결하기 위해 필요한 논리와 절차를 직접 코드로 작성합니다.
  • 인공지능 모델: 인공지능 모델은 대량의 데이터를 통해 입력과 출력 간의 관계를 학습합니다. 개발자가 직접 알고리즘을 명시하지 않고, 데이터로부터 패턴을 학습하여 예측하거나 분류합니다.

✨ 생성형 인공지능이란?

  • 정의: 생성형 인공지능(Generative AI)은 텍스트, 이미지, 오디오, 비디오 등 새로운 콘텐츠를 생성할 수 있는 기술입니다.
  • 예시:
    • 텍스트 생성: GPT, BERT
    • 이미지 생성: VAE(Variational Autoencoder), GAN(Generative Adversarial Network), Diffusion Model, Transformer Decoder

📌 프롬프트란?

  • 정의: 생성형 AI에 주어지는 입력 데이터로, AI가 생성할 콘텐츠의 내용 및 스타일을 안내하는 역할을 수행합니다.

🎨 이미지 생성 AI의 예시

  • 예시: DALL-E, Midjourney, Stable Diffusion Web UI

🎬 동영상 생성 AI의 예시

  • 예시: Pixverse, Haiperal, Sora

📝 텍스트 생성 AI의 예시

  • 예시: ChatGPT, Gemini, Claude

🎵 음악 생성 AI의 예시

  • 예시: Suno, Udio

📚 Large Language Model(대규모 언어 모델)

  • 정의: 텍스트 생성, 번역, 질문 답변, 요약 등 다양한 언어 관련 작업을 하나의 모델에서 수행할 수 있습니다.
  • 원리: 입력과 출력 사이의 조건부 확률 분포를 학습합니다. 새로운 입력이 주어졌을 때 학습된 조건부 확률 분포를 통해 각 토큰(단어)의 확률을 예측하고, 가장 가능성이 높은 토큰을 선택하여 답변을 생성합니다.

🧩 GPT 모델의 단어 생성 원리

  • 모델 구조: Transformer Decoder
  • Autoregressive 원리: 이전 시점의 출력이 현재 시점의 입력으로 사용되면서 시퀀스를 예측하는 방식입니다.
  • 한계점: 학습 데이터 분포 내의 입력에서는 잘 예측하지만, 분포 밖의 데이터에서는 신뢰할 수 없는 출력을 내보낼 수 있습니다.
  • 데이터 편향 및 오류: 데이터 편향이나 오류가 발생할 가능성이 있습니다.
  • 외부 도구 활용: 외부 도구를 활용하여 수학적 계산을 처리할 수 있습니다.

📖 GPT의 학습 방법

  • 사전 학습(Pre-training):
    • 방법: 입력 텍스트의 다음 단어를 예측하는 훈련을 합니다.
    • 장점: 입력에 따른 정답 데이터 셋을 따로 구축하지 않아도 됩니다.
  • 파인튜닝(Fine-tuning):
    • 방법: 사전 학습된 모델을 특정 작업에 맞게 재학습하는 과정입니다.
    • Instruction learning: 주어진 지시문(명령어)을 이해하고 수행하도록 학습합니다.
    • 장점: 동일한 모델로 다양한 기능을 수행할 수 있으며, 범용성을 향상시킬 수 있습니다.

🚧 기술적 한계점과 해결방안

  1. 모호한 지시 처리:
    • 문제: 다양한 해석을 할 수 있는 질문이나 지시에 대해 명확한 답변을 제공하지 못할 수 있습니다.
    • 해결방안: 질문에 대한 배경과 세부 정보, 구체적인 답변 예시 등을 통해 사용자가 원하는 답변을 할 수 있도록 유도합니다.
  2. 맥락 유지의 어려움:
    • 문제: 긴 대화나 복잡한 문맥을 지속적으로 유지하는 데 어려움을 겪습니다.
    • 해결방안: LLM이 처리할 수 있는 최대 토큰 수가 정해져 있으므로, 기존 질문 및 답변의 핵심적인 정보들을 요약하여 맥락을 유지합니다.
  3. 할루시네이션:
    • 문제: 문맥에 맞는 듯 보이지만 실제로는 근거 없는 내용을 생성하는 현상으로, 사용자에게 잘못된 정보를 제공할 수 있습니다.
    • 해결방안: 외부 지식 및 데이터 베이스의 내용을 프롬프트에 넣어 해당 내용에 근거해 답변을 생성하도록 합니다. (RAG, Retrieval-Augmented Generation)
  4. 정보의 한계:
    • 문제: 최신 정보 및 새로운 전문적인 지식을 제공하지 못합니다.
    • 해결방안: 질문에 대한 내용을 인터넷에서 검색 후 LLM이 인터넷의 내용을 기반으로 답변을 생성하도록 합니다.

🔧 프롬프트 엔지니어링

  • 정의: 프롬프트 엔지니어링은 생성형 AI에게 주어지는 입력 데이터를 최적화하여 원하는 출력 결과를 얻기 위해 프롬프트를 설계하는 기술입니다. 프롬프트의 내용을 조정하여 AI의 출력을 제어하고, 보다 정확하고 유용한 결과를 도출하는 데 사용됩니다.

자료 참고
[1] 코드스테이츠 - 인공지능·머신러닝·딥러닝 차이점은?ㅣ개념부터 ... (https://www.codestates.com/blog/content/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%94%A5%EB%9F%AC%EB%8B%9D%EA%B0%9C%EB%85%90)
[2] Red Hat - 생성형 AI란? 창의적 정보 생성 기술로서의 생성 AI 보기 (https://www.redhat.com/ko/topics/ai/what-is-generative-ai)
[3] Google Cloud - AI와 머신러닝 비교: 차이점 (https://cloud.google.com/learn/artificial-intelligence-vs-machine-learning?hl=ko)
[4] 나무위키 - 언어 모델 (https://namu.wiki/w/%EC%96%B8%EC%96%B4%20%EB%AA%A8%EB%8D%B8)

0개의 댓글