[3/28] TIL - 알고리즘 문제 연습 (Hash, Greedy, Sort), 특강 (ChatGPT 활용하기)

Sangwon Jwa·2024년 3월 28일

데브코스 TIL

목록 보기
4/54
post-thumbnail

📖 학습 주제

  1. 해시 알고리즘 문제
  2. 탐욕법 (Greedy) 알고리즘 문제
  3. 정렬 문제
  4. 특강 : ChatGPT 활용하기

✏️ 주요 메모 사항 소개


해시(Hash) 문제 풀이 : 완주하지 못한 선수

해시 (Hash) : 요소들을 해시 함수를 이용하여 다른 값으로 변환하여 해시 테이블에 저장하는 방법. 문자열과 같은 요소들을 다루는데 유용하다.

https://velog.io/@hjjwa1234/lv1%EC%99%84%EC%A3%BC%ED%95%98%EC%A7%80-%EB%AA%BB%ED%95%9C-%EC%84%A0%EC%88%98


탐욕법 (Greedy) 알고리즘 문제 풀이

탐욕법 (Greedy Algorithm) : 알고리즘의 각 단계에서 그 순간에 최적이라고 생각되는 것을 선택. 현재의 선택이 마지막 해답의 최적성을 해치지 않을 때 사용가능하다.

체육복

https://velog.io/@hjjwa1234/lv1%EC%B2%B4%EC%9C%A1%EB%B3%B5

큰 수 만들기

https://velog.io/@hjjwa1234/lv1%ED%81%B0-%EC%88%98-%EB%A7%8C%EB%93%A4%EA%B8%B0


정렬 문제 : 가장 큰 수

https://velog.io/@hjjwa1234/lv1%EA%B0%80%EC%9E%A5-%ED%81%B0-%EC%88%98


특강 : ChatGPT 활용하기

LLM (Large Language Model)

다음에 오는 문장이나 단어를 확률적으로 예측하는 모델, Temperature라는 비율을 사용해서 random의 정도를 결정.

<모델 훈련>

  • 웹상에서 존재하는 문서들이 모델의 훈련 데이터가 된다. 품질이 중요하기 때문에 위키피디아와 같은 공인된 문서를 사용한다.

  • 이를 코드에도 적용 가능하며 이 경우 Github이 훈련용 데이터가 된다. Unsupervised Learning(정답이 없는 학습) 에 사용된다.

  • context window의 크기에 따라 모델의 메모리를 결정, context window 가 4이면 3개의 토큰을 보고 1개의 토큰 예측을 훈련한다.

  • 워드 임베딩(Word Embedding) : 단어를 그대로 사용할 수 없기 때문에 이를 숫자로 변환한 후 (One-Hot encoding) 다시 N차원 공간의 벡터로 변환한다. 데이터의 크기를 줄이고 단어간의 유사도를 측정 가능하게 된다.

<모델 사용 (추론/예측)>

  • LLM 서빙에 들어가는 비용은 상상을 초월하며 이는 LLM의 큰 문제이다 (Carbon Footprint 이슈) 따라서 많은 회사들이 자체 하드웨어 개발 중이거나 예정 중이다. (반도체가 다시 중요)

<LLM의 문제점>

  1. 훈련 비용 뿐만 아니라 큰 서빙 비용
  2. 데이터 주권 문제
  3. 일자리 등 사회 안정성에 문제를 일으킴

GPT (Generative Pre-trained Transformer)

OpenAI에서 만든 초거대 언어 모델로 Word Completion, Code Completion 모델을 제공한다.

ChatGPT

GPT를 챗봇의 형태로 Fine-Tunig한 프로그램. RLHF (Reinforcement Learning from Human Feedback)이라는 방법으로 학습.

<ChatGPT 4.0>

  • Code Interpreter 기능 추가됨 (코드를 작성하고 Jupyter Notebook에서 실행 가능, 샘플 데이터를 업로드하고 관련해서 다양한 질문 가능)
  • 이미지 업로드 가능

<GPTs (커스텀 챗봇)>

  • 특정 목적에 맞는 ChatGPT의 맞춤형 버전. 자신이 활용하고자 하는 분야의 정보를 GPT Builder를 통해 학습시켜 보다 전문적인 챗봇을 구성 가능하다.

나만의 GPT 만들기

<방법>

  1. 직접 구현 (사실상 불가)

  2. 기존 LLM Fine Tuning (쉽지 않음)
    Fine Tuning : 기존 모델위에 새로운 레이어를 얹어 다른 용도의 데이터로 훈련하는 것 (EX) ChatGPT). GPT는 이를 API로 지원함.

  3. LLM을 그대로 사용하되 컨텍스트 정보를 프롬프트의 일부로 보내기

  • RAG (Retrieval Augmented Generation)
  • EX) ChatGPT4라면 GPTs 사용

ChatGPT 활용법

  1. 모든 일/업무에 사용해보기
  • 검색하거나 주변에 물어보던 모든 일에 ChatGPT를 사용해보기 (질문을 잘해야함, Prompt)
  • 계속해서 물어봐서 정답 도출해보기

좋은 프롬프트 형식

  • Act as a Role, Task, in a Format using a Tone
    The main objective is to Objective, don't use Restriction

💦 공부하며 어려웠던 내용

GPT 관련 특강을 듣고난 후 해당 강의에 포함되어 있던 내용들을 따로 찾아보는데 너무 어려운 개념들이 많아서 앞으로 열심히 해야겠다는 생각이 들었습니다.

0개의 댓글