본문 바로가기
IT 공부/생성형 AI

[생성형 AI] 프롬프트 엔지니어링 애플리케이션 고도화 및 생성형 AI 오남용

by 해모해모 2024. 11. 20.
728x90
반응형

앱 고도화 방안

유틸리티 추가

  • API 비용 모니터링
  • 프롬프트 엔지니어링

보안 강화

  • API Key 유출 방지를 위하여 .env 생성 및 데이터 분리
  • 루트 디렉토리 기준
    • main.py
    • pricing.py
    • .env
    • banner.png

이미지 생성 모델의 프롬프트 엔지니어링

이미지 생성 모델 프롬프팅

  • DALL-E 3는 DALL-E 2와 달리 더 우수한 텍스트(Caption)를 통하여 훈련
    • 상세한 이미지 설명을 더욱 잘 따르며
    • 단어를 무시하거나 프롬프트의 의미를 혼동할 가능성 축소
    • 즉, 더 구체적인 프롬프트에서 우수한 이미지를 생성

DALL-E 기본 프롬프팅 팁

  • 묘사의 대상과 동작
  • 시공간적 배경
  • 그림의 분위기와 대상의 감정
  • 색상, 색상 스키마(팔레트), 화풍
  • 시야와 관점

긍정 프롬프트와 부정 프롬프트

  • Stable Diffusion의 대표적인 프롬프트 엔지니어링 팁
    • 긍정 프롬프트: 이미지의 품질과 내용을 개선하기 위한 수식어
    • 부정 프롬프트: 이미지가 그리지 말아야 할 객체와 품질의 수식어
    • Stable Diffusion의 WebUI에는 이를 위한 별도의 입력창이 존재
  • DALL-E의 경우 긍/부정 프롬프팅을 위한 별도의 장치가 없음
    • 프롬프트를 통해 강조하는 것이 중요(대문자 등)
    • 다만 부정어를 다소 무시하고, 긍정어에 집중하는 경향이 있음

생성형 AI의 명과 암

긍정적 활용 사례

  • 창의적 작업 도구로써의 활용
    • 음악, 이미지, 비디오 생성
  • 교육 및 연구 분야에서의 활용
    • 교육 컨텐츠 생성
    • 실험 자료 정리, 데이터 분석, 번역 등의 업무 보조
  • 비즈니스 및 마케팅 분야에서의 효율성 증가
    • 홍보 문구 및 포스터 이미지 생성 단가 인하
    • 포스팅, 자료정리 등 업무 자동화

부정적 활용 사례

  • 각종 범죄에 활용
    • 딥페이크 영상
    • 보이스 피싱용 오디오 생성
    • 악성 SW 생성 간소화
  • 무분별한 데이터 생성 및 유포
    • 스팸 이미지, 가짜 뉴스
    • 양산형 블로그 포스팅
  • 개인정보/기밀 유출
    • 챗봇/이미지 인식 모델 사용 중 민감한 정보가 유출 및 외부 서버에 저장
    • 학습된 개인정보가 챗봇의 대화 중 유출
  • 책임 소재 불특정
    • AI 연구 논문 대필
      • 다수의 메이저 학회 및 저널에서는 AI 사용 논문 집필 금지
    • 의료 진단, 법리 판단, 자율주행 시장이 자리잡지 못하는 이유

생성형 AI의 오남용 규제 및 대응

국가 수준의 법 및 제도 대응

  • EU(AI Act): AI 시스템을 위험에 따라 범주화하여 포괄적인 규제 제시
  • 미국: 산업별 자율적이고 책임감 있는 AI 사용 권장을 위하여 행정명령 발동
  • 한국: 인공지능 산업 육성 및 신뢰 기반 조성에 관한 법률(안) 법안 소위 통과
    • 아직 사회적인 합의와 위험군 정의 필요
  • 사용자 수준 대응
    • 무분별한 학습용 데이터 수집 자제
    • 디지털 워터마크, AI 탐지 시스템 활용

생성형 이미지 모델의 이미지 무단 수집

  • 이미지 생성 모델의 불법 수집된 이미지 학습 가능성
    • Getty images가 Stable Diffusion을 고소
    • Midjourney는 유명 예술가에 의해 집단 소송
    • DALL-E는 ShutterStock과의 계약 내용을 발표했으나 주의
  • 일부 이미지 생성 서비스 제공 기업은 사용자 패소 시 대신 배상
    • MS(Copilot, Bingchat)
    • Adobe(FireFly)
    • ShutterStock

Env 파일과 보안 관리

환경 변수와 API 키 보안

  • 환경 변수
    • 특정 프로그램이 실행되는 환경에 정보를 전달하기 위하여 사용되는 값
    • 주로 OS에 의해 관리
  • 주요 용도
    • 시스템 설정 정보 제공
    • 보안 정보 전달
    • 개발 환경 구성 시 프로그램 동작 관리

.env 파일과 환경변수 관리

  • .env 파일
    • 중요한 설정 정보를 소스코드에서 분리하여 저장하는 텍스트 형식의 파일
    • 코드를 공개할 때 중요한 정보(Port, API key)가 노출되는 것을 방지
    • GitHub 등 공개 Repo에 코드를 업로드할 때 .env 파일은 .gitignore에 포함
    • 프로젝트 폴더 중 루트 디렉토리에 위치

파이썬 .env 파일 관리

  • 별도의 .env 파일 생성
    • OpenAI API key를 저장
  • Python-dotenv 패키지를 설치하여 사용 가능
    • 터미널에서 pip install python-dotenv 명령어 실행
    • 스크립트에서 os 모듈과 dotenv 라이브러리를 호출하여 환경 변수를 불러옴

토큰 사용량 모니터링 기능 추가

토큰(Token)

  • 자연어처리(NLP)에서 텍스트를 더 작은 단위로 분리하는 과정
  • 일반적으로 단어, 공백, 구두점, 접두사가 기준이 됨
  • 한국어, 일본어, 터키어 등 교착어에서는 어간-어미, 어근-접사, 조사까지도 나눔
  • 방식에 따라 단어 토큰화, 문자 토큰화, Subword 토큰화 등

API 크레딧 이용량 모니터링 기능

    1. pricing.py
      • 모델 별 토큰 요금
      • 환율 정보 API
    1. GPT API
      • 모델 선택 기능 추가
      • 입력 토큰 요금 계산
      • 출력 토큰 요금 계산
      • 한화/미화 요금 정산
    1. DALL-E API
      • 이미지 당 요금 정산
    1. 사용량 모니터링
      • 좌측 탭 추가
      • 화폐 별 비용 표기
728x90
반응형

댓글