카테고리 없음

[내일배움캠프 사전캠프] + 데이터 계산, 생성형AI과 LLM의 원리

tundercloud 2026. 4. 22. 16:34

● SQL 데이터 계산

 

- SQL 계산

가장 기본적인 연산자( +, -, *, / )로도 SQL에서 사용 가능

예)

 

- SQL과 엑셀의 함수 계산 차이

 데이터의 범위가 아닌 계싼할 '컬럼'을 적어준다.

+ 함수 종류

1. 합계 : SUM(컬럼)

2. 평균 : AVG(컬럼)

 

예) 상품의 준비시간의 합계와 평균 구하

 

 

- 전체 데이터의 갯수 구하기

+ 함수 종류

데이터 갯수 : COUNT(컬럼)

컬럼명 대신 1 혹은 * 사용 가능(모든 데이터의 갯수를 세줘)

몇개의 값을 가지고 있는지 구함 : DISTINCT

예) 주문건 10개, 주문자 5명

COUNT(1) -> 10

DISTINCT -> 5

 

예시) 주문건수와 주문한 고객 수 구하기

 

- 데이터의 범위, 최솟값, 최댓값

+ 함수 종류

최솟값 : MIN(컬럼)
최댓값 : MAX(컬럼)

 

예시) 주문 가격의 최솟값, 최댓값 구하기

 

 

★ SQL문 작성할때 flow 생각하기★

예) 주문 금액이 30,000원 이상인 주문건의 갯수 구하기

- Query를 적기 전에 흐름을 정리

1. 어떤 테이블에서 데이터를 뽑을지 -> 주문테이블

2. 어떤 컬럼을 이용할지 -> 주문 금액, 주문 번호

3. 어떤 조건을 지정해야할지 -> 30,000원 이상

4. 어떤 함수(수식)을 이용해야할지 -> 갯수 구하는 수식

- 구문으로 만들기

1. 어떤 테이블에서 데이터를 뽑을지 -> from food_orders

2. 어떤 컬럼을 이용할지 -> order_id, price

3. 어떤 조건을 지정해야할지 -> where price>=30000

4. 어떤 함수(수식)을 이용해야할지 -> count(order_id) 혹은 count(1)

- 전제 구조로 합치기

 

 

- 범주별 연산 한번에 하기 (GROUP BY)

음식 종류별로 평균 음식 가격을 구하기 위해 where절을 사용해서 많은 query를 작성하면 비효율적임

-> 카테고리를 지정하여 수식함수로 연산을 할 수 있다 = Group by

 

-Group by 기본 구조

카테고리 컬럼 지정, 그리고 Group by를 적어주는 것

예) 음식 종류별 주문 금액 합계

 

- Query결과 정렬하여 사용(ORDER BY)

정렬문 Order by의 기본구조

카테고리 컬럼 지정, 그리고 Order by를 적어주는 것

예) 음식 종류별 주문 금액 합계를 '주문 금액 합계' 기준으로 오름차순 정렬

 +정렬의 종류

오름차순은 구문 생략 : order by sum(price)

내림차순은 desc구문을 뒤에 붙임 : order by sum(price) desc

 

★ SQL문의 가장 기본 구조 ★

예) 구조 맞추기 

1. order by sum(delivery_time) desc

2. group by cuisine_type

3. where day_of_week = 'Weekend"

4. from food_orders

5. select cuisine_type, sum(delivery_time) total_delivery_time

-> 5 - 4- 3 - 2 - 1

 

[실습]

음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로(내림차순) 정렬하기

- MIN, MAX, 내림차순(desc)를 활용

- 흐름을 파악해야됨.

 

 

● 생성형 AI과 LLM 원리

- LLM이란

Large Language Model(거대 언어 모델)  : 보통 생성형 AI를 말함. 언어를 먹고 언어를 뱉는 AI (하지만 언어를 이해하지 못함)

1. 문장을 수치화(벡터화) : 임베딩 

2. 임베딩을 완료한 정보를 바탕으로 트랜스포머 연산을 통해 이해

한계 : 임베딩하는 과정 자체는 자동화가 가능하지만, 문장을 가져다주는것과 과정을 만들어주는 거는 직접 해야됨.(비효율)

- Fine-tuning, RAG

Fine-tuning(미세조정) : LLM의 특정매개변수를 수정하는 작업

+ 새로운 DATE set을 학습

+ LLM의 답변 자유도 값(Temperature)를 수정

+ LLM의 답변 최대 길이를 수정

 

장점 : 비교적 작업속도가 빠름 (매개변수만 조정하면 됨)

단점 : 결과를 보는데 시간이 오래 걸리고 결과가 마음에 들지 않으면 미세조정을 새로 해야함.

 

RAG(검색증강생성) 활용 : LLM이 참고해서 답변을 만들 수 있는 새로운 정보의 장을 활용하는 방법

기존의 학습된 내용 + 추가적인 정보

예) 웹에 있는 내용을 참고, 서버의 문서 내용을 참고, 핸드폰의 그림 참고

단순히 웹에 있는 거 혹은 문서에 있는 내용을 스크래핑해서 보여주기만 하는건 RAG라고 하지 않음. (수집만 해서 보여줌)

LLM 모델이 스스로 가공을 해서 보여줘야지만 RAG라고 함. (AI가 먹고 소화하고 가공해서 줌)

 

장점 : 별도의 학습을 시키지 않아도 됨. 추가적인 정보만 제공해주면 됨

단점 : RAG를 설계, 구축, 적용, 유지보수 작업이 필요함. 비용 ↑

 

과제 : LLM을 활용해서 내 직무관련 업무의 문서 만들어 보기

일탈 보고서 (Deviation Report)

1. 기본 정보

  • 문서번호: DEV-2026-001
  • 발생일자: 2026.04.22
  • 발생부서: 생산팀 / 포장공정
  • 보고부서: 품질보증(QA)팀
  • 작성자: 홍길동
  • 검토자: QA 책임자

2. 일탈 내용

2026년 4월 22일 포장공정 진행 중 완제품 A 품목의 라벨 부착 작업 과정에서 승인본이 아닌 이전 개정본 라벨이 일부 수량에 사용된 사실이 출하 전 최종검사 단계에서 확인되었다.

해당 라벨은 제품명 및 제조번호 정보는 동일하였으나, 보관조건 문구가 최신 승인본과 상이하였다.

3. 발견 경위

출하 전 QA 최종 외관검사 과정에서 라벨 문구 검토 중 승인본과 상이한 사항이 확인되어 즉시 생산팀 및 QA팀에 보고하였다.

4. 즉시 조치 사항

  1. 해당 제조번호(Lot) 제품 전량 출하 보류 조치
  2. 작업 중인 포장라인 즉시 중지
  3. 포장 완료 제품 전량 격리 후 전수검사 진행
  4. 구버전 라벨 전량 회수 및 폐기 조치

5. 영향성 평가

  • 제품 품질: 내용물 품질에는 직접 영향 없음
  • 환자 안전성: 보관조건 문구 상이로 정보 전달 오류 가능성 존재
  • 규정 준수: 승인 문서 미사용으로 GMP 절차 위반 사항 해당
  • 출하 영향: 재포장 및 재검수로 출하 일정 지연 가능성 있음

6. 원인 조사 (LLM 정리 기반 5 Why)

구분내용

Why 1 왜 구버전 라벨이 사용되었는가? → 작업 현장 보관함에 잔여 라벨이 남아 있었음
Why 2 왜 잔여 라벨이 남아 있었는가? → 개정 후 구버전 회수 절차가 미흡했음
Why 3 왜 회수 절차가 미흡했는가? → 문서 개정 후 현장 점검 확인이 누락됨
Why 4 왜 점검이 누락되었는가? → 담당자 역할 구분이 명확하지 않았음
Why 5 왜 역할이 불명확했는가? → SOP 내 폐기 책임자 지정 항목이 부족했음

7. 시정 및 예방조치 (CAPA)

시정조치(Correction)

  1. 해당 Lot 전량 재포장 실시
  2. 승인본 라벨 재출력 후 교체 작업 진행
  3. 출하 전 QA 재검사 수행

예방조치(Preventive Action)

  1. 라벨 개정 시 구버전 즉시 회수 절차 SOP 개정
  2. 포장라인 시작 전 승인본 확인 체크리스트 운영
  3. 생산팀 전 직원 대상 문서관리 재교육 실시
  4. 월 1회 현장 문서 점검 실시

8. 결론

본 일탈은 승인되지 않은 구버전 라벨 사용으로 인해 발생하였으며, 제품 내용물 품질에는 영향이 없으나 표시사항 관리 절차 미준수 사례로 판단된다. 재포장 및 CAPA 시행 후 동일 사례 재발 방지가 가능할 것으로 평가된다.

9. 승인

  • 작성: __________________
  • 검토(QA): __________________
  • 승인(QA 책임자): __________________

● 학습하며 겪었던 문제점 & 에러

SQL문을 작성할 때 flow를 파악하고 순서를 정리 하는 것에 어려움을 느꼈습니다. 반복적으로 흐름정리-구문 만들기- 전제 구조로 합치기를 연습하면서 컬럼에 무엇이 들어가야하는지 눈에 보이기 시작했고, 신경써야하는(내림차순 desc 사용) 부분을 놓치지 않으면서 완성형 SQL문을 만들 수 있었습니다. 

LLM과 Fine-tuning, RAG의 각각 장단점을 구분하면서 AI를 작업하는 데 있어 하나만 사용하는 것이 아는 복합학습을 하여 더욱 정교화시켜 지금 실제로 사용하고 있는 AI들이 만들어진 것이라고 느꼈습니다. 

 

● 내일 학습 할 것

데이터 가공하기

프롬프트 기초- AI에게 잘 묻는 법