사람의 언어를 인식하고 이해해서 답변하는 ai 모델 언어를 먹고 언어를 뱉는 AI -보통 생성형 AI
SW는 예측할뿐 언어를 이해하는건 아님 - 기계적 측면 이해=문맥을 분석 해 다음 문장을 예측
ex) 눈을 감다 = 눈 + 을 + 감 + 다 + 눈을 + 감다로 하나하나 쪼개서 분석하여 기계적 이해 문장을 수치화(벡터화)하는 방법 - 임베딩 임베딩한 정보를 트랜스포머 연산을 통해 이해 트랜스포머 알고리즘은 실제 의미를 조합하기 위한 로직
☑️ Fine-tuning, RAG
LLM 성능을 높이기 위한 대표적인 방법
Fine-tuning(미세조정) : LLM의 특정 매개변수를 수정하는 작업 = LLM 자체 알고리즘 조정 : 새로운 Data set 학습, LLM 답변 자유도 값(Temperature) 수정, LLM 답변 최대 길이를 수정하거나,,,,, : 장점 - 비교적 작업 속도가 빠르다 → 매개변수만 조정하면 되니까 : 단점 - 결과를 보는데까지 시간이 오래걸림 → 결과가 마음에 들지 않으면 새로 미세조정해야함
RAG(레그)(검색증강생성) : LLM이 참고해서 답변을 만들 수 있는 새로운 정보 장을 활용하는 방법 = 기존 학습된 내용에 추가적인 정보를 주는 것 : 단순 스크래핑이 아닌 LLM이 스스로 학습해서 가공하여 다시 보여주는게 RAG : 장점 - 별도의 학습을 시키지 않아도 됨 : 단점 - RAG 설계, 구축, 적용, 유지보수 작업 필요 - 이 비용이 정말 많이 듦
LLM의 정체성, 주임무, 사용자 설정을 하기 위해서 프롬프트 = LLM에게 던지는 지시문
☑️ 프롬프트 요소
instruction(지시) - LLM이 수행해야하느 명령
input Data(입력값) - LLM이 받아 들일 값, 그림, 글 등등
context(문맥) - 추가적인 정보, 어조, 말투
output indicator(출력지시자) - 출력 틀, 양식
example(예시) - 사용자가 원하는 추가적인 예시 (항상 구성요소가 적용되지는 않음)
☑️ 매개변수
자유도(Temperature) : LLM 답변 자유도를 설정하는 값 : 자유도가 높으면 환각(=AI가 헛소리하는거) 발생 : 자유도가 너무 낮으면 추론 능력이 낮음
최대토큰수(token)수 : LLM이 소화할 수 있는 최대 토큰 수 : 토큰 LLM이 문장을 자르는 기준 : LLM 용량이 클수록 토큰 수를 늘릴 수 있음
☑️ 프롬프트 기법 종류
프롬프트 조정활동 = 프롬프트 엔지니어링
< zero shot prompting > : 모델에 예시 없이 원하는 작업을 지시하는 일반적인 기법 = 사전 학습된 일반적인 지식만으로 문제 해결하는 방법 : GPT한테 하던 프롬프트 : 장점 - 별도의 학습을 수행하지 않고 명료하게 작성하면 되므로 사용자 입장에서 직관적으로 간편 : 단점 - LLM의 기존 학습된 내용에 오로지 의존
< Few shot prompting > : 프롬프트 내에 소수의 관련 예시를 포함시켜서 aI 모델 성능을 향상시키느 프롬프트 엔지니어링 기법 : 장점 - 예시를 포함하여 다음 출력 결과를 예상할 수 있음 : 단점 - 예시가 명확해야하며 정확한 답변을 원할 수록 더 많은 예시와 예외처리 필요
< chain-of-thought Prompting (생각의 사슬) = COT > : 복잡한 문제를 해결할 때, 정답을 바로 제시하는 대신 사고 과정을 단계별로 거쳐 추론하도록 유도하는 방식 : = 답을 내놔!!가 아닌 어떤식으로 답변을 생각했는지 과정까지 줘, 추론 근거를 붙여줘 : 장점 - LLM이 추론해 나가는 과정을 볼 수 있어 만약 잘못 추론한 부분이 있으면 피드백하기 쉬움 : 단점 - 필요없는 내용까지 방대해질 수 있으며 답변 후처리 가공이 필요할 수 있음
< Tree of Thoughts(생각의 나무)=TOT > : 복잡한 문제를 해결 과정을 나무처럼 여러가지 가능성을 탐색하고 최적의 경로를 찾는 방식 : 장점 - 여러 해결책을 구할 수 있음 : 단점 - 어느답이 가장 적절한지 환각은 없는지 검증을 해야하거나 검증이 어려움 : 답변 방법 가지 수를 제한하는 방법도 꽤 좋음
< Structured Prompting(구조화 지시) > : 구조를 갖춰서 절차지향적으로 프롬프트를 작성하는 방법 = 기계가 이해하기 쉬운 프롬프트 : 장점 - LLM이 절차를 수행하는데 가장 직관적인 방법 : 단점 - 사람보다는 기계 입장의 프롬프트를 이해하도록 작성하는데 초점이 맞춰져 있음
< Generated Knowledge Prompting(지식 생성) > : 응답 정확도와 추론 능력을 향상시키기 위한 프롬프트 엔지니어링 기법 : = 추론하는 과정을 한번 더 점검할 수 있도록 도와주고 사용자가 약간의 정보를 더해 줌 : = 학습을 하면서 답변할 수 있도록 해주는 기법 : 장점 - 모델이 지식을 정리하고 사고 기반을 만들기 때무에 정확도와 추론력 향상에 도움 : 단점 - 생선된 지식이 부정확할 경우 잘못된 정보를 기반으로 답이 더 크게 틀릴 위험
빅데이터 분석기사를 학습할꺼야(배경지식) 이 자격증을 취득하기 위해 요점 정리하는 꿀팁 알려줘 (퓨 샷) - 요점 정리에서 2020년도 미만 자료는 제거해 - 요점정리 할 때는 목록으로 표시해 (list 형식으로)
(COT기법) 빅데이터 분석기사를 학습할꺼야(배경지식) 이 자격증을 취득하기 위해 요점 정리하는 꿀팁 알려줘 - 너의 추론 과정을 알고 싶다/답변과정을 보여줘
2025년 최신 ai 동향 자료에 대해서 요약해서 찾아
(스트럭처드 프롬프팅) 위 자료를 바탕으로 보고서를 만들어라
{ "system" : "너는 AI 관련 자료 보고서를 작성하는 전문가이다.", "user" : "위 자료를 바탕으로 보고서를 만들어라" "data" : "1. 보고서 양식은 '요약보고서'이다" " 2. 날짜는 오늘 날짜로 작성" "3. 작성자는 르탄이" "4. 속성은 개요, 구성요소 내용 근거 인용" "5. 제익 마지막에 결제란" }
위 자료를 (제로샷) 편집할 수 있게 해라 - 보고서를 보면서 수정할 수 있음 단 근거를 첨부할 때는 너가 어떻게, 왜 그렇게 추론했는지 과정을 나한테 설명해라.
☑️ 과제 - 취득하고 싶은 자격증에 대한 요점 요약 핵심 암기노트 만들기
<퓨 샷 프롬프팅> 품질경영기사 바이오화학제품제조기사 AdsP 산업안전기사 4개의 자격증에 대해 알려줘 -각 시험 구성에 시험 시간, 과목을 넣어서 줘
1. 품질경영기사
① 필기시험 (객관식, 과목당 20문항)
시험시간: 총 150분 (과목당 약 30분)
과목
통계적 품질관리
품질경영
생산관리
신뢰성관리
실험계획법
② 실기시험 (필답형 + 작업형)
시험시간: 약 2시간 30분
내용:
품질관리 계산 문제 (핵심)
공정능력, 관리도, 샘플링 등 실무형 문제
👉 특징: → “계산 + 이론 혼합형” (특히 계산 비중 매우 큼)
2. 품질경영기사
① 필기시험 (객관식)
시험시간: 총 150분
과목
생물공학개론
미생물공학
생화학
생물반응공학
분리정제공정
② 실기시험 (필답형)
시험시간: 약 2시간
내용:
배양공정, 효소반응, 반응속도식
공정 계산 및 이론 서술
👉 특징: → “전공 깊이 + 공정 이해” 중심
3. AdsP(데이터분석 준전문가)
① 필기시험 (객관식)
시험시간: 90분
문항: 총 50문항
과목
데이터 이해
데이터 분석 기획
데이터 분석
👉 특징: → 계산보다 “개념 + 용어 + 흐름” 위주 → SQL, 통계 기초 조금 포함 ※ 실기 없음 (필기 1회로 끝)
4. 산업안전기사
① 필기시험 (객관식)
시험시간: 총 150분
과목
산업안전관리론
인간공학 및 시스템안전공학
기계위험방지기술
전기위험방지기술
화학설비위험방지기술
② 실기시험 (필답형 + 작업형)
시험시간: 약 2시간 30분
내용:
법규 암기 (중요)
재해 사례 분석
계산 문제 일부 포함
👉 특징: → “암기 비중 매우 높음 + 법규 싸움”
<퓨 샷 프롬프팅> 4개 자격증 동시에 준비하는 현실적인 공부 순서를 시험 날짜, 교안, 참고사항들을 고려해 하루 공부 루틴을 짜줘 - 시험 날짜 : - 참고 : 식후 혈당스파이크의 영향을 매우 많이 받아 졸음이 심한편 - 참고 : 점심시간 PM 1~2 | 저녁시간 PM 6~7 - 참고 : 교안
실제로 존재하지 않거나 잘못된 정를 보여주는 것 : 질문과 다른 답변, 실존하지 않는 답변 등
Why? : AI가 학습된 내용에 한계가 있기 때문에 답변을 생성하는데 의도와 벗어난 동작을 하게 됨 : 오작동이 아니라 확률 예측의 특성 때문에 발생하는 현상
환각을 줄일 수 있는 방법 : 온도값을 낮추거나 / 제한점 설계(특정한 정보를 제공하지 말라고 하는 것) / 추가 학습 등
어떻게 윤리 문제에 치명적일까? : 그릇된 내용이 사용자에게 전달 될 수 있기 때문에 : 잘못된 정보를 사용자가 인식하지 못하고 그대로 이용할 수 있기 때문이다 → 검증을 해봐야 함
☑️ 개인정보침해, Red Flag(위험징후)
개인정보침해 : 특정된 어떤 사람에 대한 정보를 무단으로 수집, 사용, 유출 등 목적에서 벗어난 모든 활동의 의미
Red Flag = 위험징후 ↔ Green Flag : '뭔가 위험할 것 같은데?'라는 느낌에 사용되는 보안용어
개인정보침해 사례 : 사용자가 해킹관련 AI가 특정 인물에 대한 정보를 취득 : 거짓된 정보를 찹혀 생성한 답변
개인정보침해에 대응하기 위한 방법 : 민감한 정보 및 개인정보에 대해 입력을 하지 말 것 → 익명화&가명화처리해서 사용할 것 : 후처리로 를 통해 레드 플래그 검열 : 직접 허락을 구할 것 : 반드시 목적에 맞는 범위에서 사용할 것 : 데이터 3법 : 개인정보보호법, 정보통신망법, 신용정보법
☑️ 저작권과 출처 표기
저작물 : 저작권법에 의해 독창성과 저작권을 인정받을 수 있도록 보호를 받는 특정 생성물
저작물로 인정받기 위해 : 생성자의 사상과 감정이 독자적으로 독창성 있게 투영된 생성물이여야한다!!
저작권법 : 저작권자의 권리를 보장하고 무분별한 저작물의 남용을 막고 보호하기 위한 법률을 의미
저작권 침해 : 원저작권자의 동의없이 2차 창작물 생성하거나, 동의없이 저작물의 정보를 변경 및 활용하는 모든 것
저작권자에 대한 출처 표기!! 인용불가라면 동의 구하던가 쓰지 말기
AI 생성물은 저작권 보호 받지 않음
⊙ 통계학 기초 - 4강 <회귀 Regression>
● 회귀
현재 가지고 있는 데이터를 가지고 특정 값을 예측해 보는 것
☑️ 선형회귀
하나의독립변수(X)와 하나의 종속 변수(Y) 간의 관계를 직선으로 모델링하는 방법
☑️ 단순선형회귀 - 회귀식
Y = β0 + β1X
β0는 절편 | β1는 기울기(=x계수) → 1차함수 생각하면 이해 쉬움
☑️ 단순선형회귀 - 특징
독립 변수(=X)의 변화에 따라 종속 변수(=Y)가 어떻게 변화하는지 설명하고 예측 〓X가 변화함에 따라 Y의 변화를 예측 및 설명
데이터가직선적 경향을 따를 때 사용
간단하고 해석이 용이
데이터가 선형적이지 않을 경우 적합하지 않음
☑️ 단순선형회귀 - 예시 : 하나의 독립 변수와 종속 변수와의 관계를 분석 및 예측 할 때 사용
광고비(X)와 매출(Y) 간의 관계 분석 → 현재의 광고비를 바탕으로 예상되는 매출을 예측 가능
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 다중선형회귀 모델 생성 및 훈련
model = LinearRegression()
model.fit(X_train, y_train)
# 예측
y_pred = model.predict(X_test)
# 회귀 계수 및 절편 출력
print("회귀 계수:", model.coef_)
print("절편:", model.intercept_)
# 모델 평가
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("평균 제곱 오차(MSE):", mse)
print("결정 계수(R2):", r2)
회귀계수 = 독립변수 개수만큼 생성됨
● 범주형 변수
회귀에서 범주형 변수의 경우 특별히 변환을 해주어야 함
☑️ 범주형 변수
수치형 데이터가 아닌주로 문자형 데이터로 이루어져 있는 변수가 범주형 변수
☑️ 범주형 변수 - 종류
순서가 있는범주형 변수 :옷의 사이즈 (L, M, …), 수능 등급 (1등급, 2등급, ….)과 같이 범주형 변수라도 순서가 있는 변수에 해당
순서가 없는범주형 변수 : 성별 (남,여), 지역 (부산, 대구, 대전, …) 과 같이 순서가 없는 변수에 해당 : 3개 이상인 경우에는 무조건원-핫 인코딩(하나만 1이고 나머지는 0인 벡터)변환을 해주어야 한다 → pandas의get_dummies를 활용하여 쉽게 구현 가능
☑️ 범주형 변수 - 예시 : 범주형 변수를 찾고 더미 변수로 변환한 후 회귀 분석 수행
성별, 근무 경력과 연봉 간의 관계
성별과 근무 경력이라는 요인변수 중 성별이 범주형 요인변수에 해당
해당 변수를 더미 변수로 변환 : 더미 변수(Dummy Variable, 가변수) : 성별, 지역 등 숫자가 아닌 범주형(질적) 데이터를 통계 분석이나 머신러닝 모델에서 사용할 수 있도록 0과 1의 숫자(이진 변수)로 변환한 변수
X = np.array(['cat','dog','cat','cat','dog','dog','cat','dog','dog','cat'])
Y = np.array(['high','low','high','high','low','low','high','low','low','high'])
# 상호 정보량 계산
mi = mutual_info_score(X, Y)
print(f"Mutual Information (categorical):{mi}")
⊙ 통계학 기초 - 6강 <가설검정의 주의점>
가설 검정 과정에서 p-값이 중요하다 → p값에 따라 귀무가설 기각/채택 여부
그렇다고 p값을 맹신하면 안됨!! → 잘못된 값을 도출 할 수 있음
● 재현 가능성
우연히 결과가 나오는 것이 아닌, 항상 일관된 결과가 나오는지 확인해야 한다
☑️ 재현가능성
동일한 연구나실험을 반복했을 때 일관된 결과가 나오는지 여부
연구의 신뢰성을 높이는 중요한 요소
최근 p값에 대한 논쟁 : p값을 사용하지 않는 것이 좋다 : 유의수준을 0.05에서 변경하는 것이 좋다
가설검정 원리상의 문제나 가설검정의 잘못된 사용이 낮은 재현성으로 이어진다는 문제 발생
최근 논문을 다시 재현해서 실험을 해보는데 똑같은 결과가 않나오는 사례가 많은…재현성 위기가 문제가 되고 있음
☑️ 재현가능성 -중요성
결과가재현되지 않는다면해당 가설의신뢰도가 떨어짐
☑️ 재현성 위기의 원인
실험 조건을 동일하게 조성하기 어려움 : 완전 동일하게 다시 똑같은 실험을 수행하는 것이 쉽지 않음 : 가설검정 자체도 100% 검정력을 가진 것이 아니기 때문에 오차가 나타날 수 있음
가설검정 사용방법에 있어서 잘못됨 :p해킹- p값이 0.05가 유도되게끔 조작하는 것이 가능 : 실제로는 통계적으로 아무 의미가 없음에도 의미가 있다고 해버리는 1종 오류를 저지를 수 있음 : 0.05라는 것은 100번 중에 5번 즉, 20번 중에 1번은 귀무가설이 옳음에도 불구하고 기각될 수 있음 : 유의수준으로 통제하는 것이 중요 → 유의수준을 너무 낮추면 베타값이 커져버리는 문제 발생 : 어떤 논문에서는 유의수준을 0.005로 설정하면서 데이터 수를 70% 더 늘려서 베타 값도 컨트롤 하는 방향을 제안하기도 함 : 잘못된 가설을 세우더라도 우연히 0.05보다 낮아서 가설이 맞는것처럼 보일 수도 있음. 따라서 가능한 좋은 가설을 세우는 것도 중요
● p-해킹
☑️ p - 해킹
인위적으로 p-값을 낮추는 행위
유의미한 결과를 얻기 위해 다양한 변수를 시도하거나, 데이터를 계속해서 분석하는 등의 방법을 포함
☑️ p - 해킹 -문제점
p-해킹은 데이터분석 결과의 신뢰성을 저하시킴
☑️ p - 해킹을 조심해야 할 때
여러 가설 검정을 시도 할 때 : 여러 가설 검정을 시도하여 유의미한 p-값을 얻을 때까지반복 분석하는 것을조심 : p-해킹은 유의미한 결과를 얻기 위해p-값이0.05 이하인 결과만선택적으로 보고하는행위를 조심 : 데이터의 수를 늘리다보니특정 데이터 수를 기록할때 잠깐 p값이 0.05 이하를 기록함으로이를 바탕으로 대립가설 채택하는 것을 조심 :결과를 보며데이터 개수를 늘려서는안됨 : 다양한 상황 중에서 p값이 유리하게 나오는 상황만 선별적으로 보고하는 것을 조심 : 다양한변수를 건드리며 유리한 결과가 나올 때다시 처음 부터 가설을 그 결과에 맞게 세우는 것 :마음에 드는 상황만 골라서 보고해서도 안됨. 모든 결과를 다보고하거나 더 엄격한 추가실 험을 수행
가능한가설을 미리 세우고검증하는가설검증형 방식으로 분석을 해야 하며 만약 탐색적으로 분석한 경우 가능한 모든 변수를 보고하고 본페로니 보정과 같은 방법을 사용해야 함
● 선택적 보고
유의미한 결과만을 보고하고, 유의미하지않은 결과는 보고하지 않는 행위
이는 데이터 분석의결과를 왜곡하고, 신뢰성을 저하시킴
☑️ 선택적 보고를 조심해야 할 때
유의미한 결과만 공개할 때
결과를 보면서 가설을 다시 새로 설정했는데 마치 처음부터 설정한 가설이라고 얘기할 때
● 자료수집 중단 시점 결정
p-해킹과 관련
데이터 수집을 시작하기 전에 언제 수집을 중단할지 명확하게 결정하지 않으면, 원하는 결과가 나올 때까지 데이터를 계속 수집할 수 있음. 이는 결과의 신뢰성을 떨어뜨림
☑️ 자료수집 중단을 조심해야 할 때
결과를 이미 정해놓고 그에 맞추기 위해 자료수집을 하고자 할 때 :50명의 데이터를 수집하기로 했으나, 원하는 결과가 나오지 않자 100명까지 추가로 수집
☑️ 실습
샘플사이즈가 달라지며 p값이 달라질 수 있지 않을까 가정
← p값이 달라질 수 있는 상황에서는 결과만보고 샘플 사이즈를 결정하면,,, 옳바른 결과가 아님