Book (20) 썸네일형 리스트형 웹 개발자를 위한 웹 보안: 2장 요약 - 인터넷 작동 방식 인터넷 초기에는 데이터 교환에 신뢰성이 없었다. 전쟁 중에, 오프라인 상태가 돼도 정보를 계속 교환할 수 있도록 원격 컴퓨터를 연결할 수 있는 방법을 찾았고, 네트워크 엔지니어들은 컴퓨터들 간의 신뢰할 수 있는 정보 교환을 보장하는 전송 제어 프로토콜 (TCP)를 개발했다. 컴퓨터가 TCP로 다른 기계에 메시지를 보낼 때 메시지는 목적지 주소와 함께 데이터 패킷으로 이루어지는데, 수신 시스템이 패킷을 받으면 프로토콜은 패킷을 순서 번호에 따라 재사용할 수 있는 순서로 조립하고, 패킷을 받았다는 수신을 보낸다. 송신자는 패킷을받았다는 메시지를 수신하지 못하면 다른 네트워크 경로를 따라 해당 패킷을 재전송하고, 이런 방식으로 데이터를 주고받게 된다. 인터넷상의 데이터 패킷은 인터넷 프로토콜 (IP) 주소로 .. 웹 개발자를 위한 웹 보안: 1장 요약 - 웹사이트를 해킹하다 월드 와이드 웹(World Wide Web)이 유럽원자핵공동연구소에서 팀 버너스 리에 의해 만들어지면서, 데이터를 공유하는 수단으로 이용되었다. 최초의 웹 브라우저와 최초의 웹 서버를 만들어 HTML과 HTTP를 발명했다. 초기의 웹 페이지는 텍스트 전용으로, 대부분의 페이지가 정적이었고, 암호화 없이 트래픽이 전송됐다. 이후 1995년에 브렌던 아이크가 자바스크립트를 만들면서 웹 페이지는 상호작용이 가능해졌고, 보안 취약점 전체 클래스가 나타나기 시작했다. 이후 마이크로소프트의 인터넷 익스플로러가 나타나고, 구글의 크롬이 만들어지며 인터넷 표준의 성장이 가속화됐다. 이후 1933년, 리눅스 커뮤니티는 CGI를 구현해 정적 HTML로 구성된 웹사이트를 쉽게 만들어졌으며, 이후에 CGI가 펄, PHP와 .. 쉽고 빠르게 익히는 실전 LLM - CHAPTER 8. 고급 오픈 소스 LLM 파인튜닝 맞춤형 손실 함수 정의- 작업의 목표와 데이터 특성에 대한 이해를 바탕으로 모델이 학습하는 방식과 예측을 의미 있고 유용한 방식으로 실제 목표와 어떻게 비교할 수 있는지 이해- 음의 로그 기능도 손실을 통해 선호하는 결과에 더 높은 확률을 할당하고, 덜 선호하는 결과에는 더 낮은 확률을 할당하도록 만듦 > 더 애매한 이해를 학습하도록 유도 배치 크기최적의 배치 크기를 찾아야 함모델의 메모리 사용량과 안정성 사이 균형을 맞추는 필수적인 파인튜닝 방법메모리 제한이 문제라면 기울기 누적을 통해 배치 크기를 분할하여 사실상 더 큰 배치 크기를 효과적으로 훈련하고, 각 과정에 필요한 메모리를 줄일 수 있음 동적 패딩다양한 길이의 시퀀스가 많은 경우 낭비되는 계산 자원을 줄일 수 있는 기술각 배치마다 패딩의 양을 .. 쉽고 빠르게 익히는 실전 LLM - CHAPTER 7. 파운데이션 모델을 넘어서 크로스-어텐션여러 가지 다른 유형의 입력 데이터를 처리하고 결합하여 작업을 수행하는 시스템입력 시퀀스는 키와 값 입력으로 사용되고, 출력 시퀀스는 쿼리 입력으로 사용됨> 쿼리는 어텐션 점수에 따라 다른 토큰에서 관련 정보를 추출하는데 사용되고, 키는 어떤 토큰이 쿼리와 관련 있는지 확인하는데 도움을 주고, 값은 해당 정보를 제공 손실 함수머신 러닝 모델의 성능을 측정하는 데 사용되는 함수로, 모델이 예측한 값과 실제 타겟 값 사이의 차이를 나타내고 이를 최소화하기 위해 모델을 훈련시킴성능 측정을 통해 손실 함수의 값을 측정하고, 이를 최소화하는 방향으로 가중치를 조절하고 최적의 파라미터 값을 찾음 강화 학습1. 언어 모델 사전 훈련- 대규모 텍스트 데이터로 LLM을 사전 훈련시킴- 일반적인 말뭉치나 특정.. 쉽고 빠르게 익히는 실전 LLM - CHAPTER 6. 임베딩과 모델 아키텍처 맞춤화 추천 시스템 만들기 1. 문제와 데이터 설정훈련 및 테스트셋으로 분리 2. 추천의 문제 정의[고려할 요소]사용자 특성 - 연령, 검색 기록, 과거 아이템 상호작용아이템 특성 - 장르, 가격, 인기도사용자의 감정 상태, 시간, 기분, 맥락 등 [패턴 활용]사용자의 과거 선호도를 바탕으로 아이템 추천 + 사용자가 이전에 상호작용한 아이템과 유사한 아이템 추천 [탐색]사용자가 이전에 고려하지 않았을 아이템 제안 [콘텐츠 기반 추천]추천되는 아이템 특성에 초점을 맞추어 사용자의 과거 상호작용을 기반으로 비슷한 콘텐츠 추천 [협업 필터링]사용자의 선호도와 행동을 활용하여 유사한 관심사, 취향을 가진 사용자 간 패턴을 식별하여 추천- 유사한 선호도를 가진 사용자를 찾고 그 사용자들이 좋아하는 사용자 기반 협업 필터.. 쉽고 빠르게 익히는 실전 LLM - CHAPTER 5. 고급 프롬프트 엔지니어링 프롬프트 인젝션공격자가 LLM에 제공된 프롬프트를 조작하여 편향되거나 악의적인 결과를 생성하기 위해 사용하는 공격 유형- 짧은 프롬프트 사용 자제- 추측하기 어려운 독특하고 복잡한 프롬프트 구조 이용- 공격 패턴 가능성 필터링, 민감한 정보를 포함하는 답변 필터링- 프롬프트 정기적 업데이트 및 수정 입력 데이터 정제잠재적으로 해롭거나 위험한 내용(욕설, 개인 정보, 스팸, 인젝션 공격 키워드) 필터링- 유효성 검사 파이프라인을 만듦 배치 프롬프팅여러 개의 샘플을 하나의 프롬프트로 그룹화하여 LLM이 동시에 여러 답변을 생성하게 하는 것 > 추론 시간을 줄여줌 프롬프트 체이닝하나의 LLM 출력을 다른 LLM의 입력으로 사용해 여러 단계의 작업을 완료하는 것 프롬프트 스터핑사용자가 프롬프트에 너무 많은 정보.. 쉽고 빠르게 익히는 실전 LLM - CHAPTER 4. 맞춤형 파인튜닝으로 LLM 최적화하기 파인튜닝 훈련을 위한 데이터 준비LLM의 언어 이해 능력을 특정 분야의 작업에 더 잘맞게 조정하는 파인튜닝을 통해 관련성이 높고 정확한 답변을 효율적으로 생성하기 위함[훈련셋]을 통해 데이터의 패턴과 관계를 학습하고 인식, [검증셋]을 통해 모델의 성능을 평가, [테스트셋]을 통해 모델의 능력이 새로운 데이터를 접해도 편향되어 있지 않은지 최종 평가[손실 함수]를 통해 모델 예측 값과 실제 목표 값 사이 차이를 정량화해 오차를 계산하고 이를 최소화해 더 나은 예측을 달성하는 지표 역할 파인튜닝 모델 훈련 전략목표를 위한 훈련, 검증, 테스트 데이터셋 수집 > 하이퍼파라미터 설정(모델 가중치 결정 + 단일 업데이트 훈련셋 사이즈 결정 + 훈련셋 반복 학습 수 설정)을 통한 과적합, 과소적합 문제 방지 > .. 쉽고 빠르게 익히는 실전 LLM - CHAPTER 3. 프롬프트 엔지니어링의 첫 번째 단계 프롬프트 엔지니어링 LLM기반 어플리케이션 구축 시, 사용자 경험을 향상시키기 위해 필요 정확하고 유용한 출력을 반환도록 유도하는 LLM에 대한 입력(프롬프트)를 만드는 것 정렬 모델이 사용자가 예상한 것과 일치하는 방식으로 입력 프롬프트를 이해하고 답변하는 것 프롬프트 엔지니어링 최적화 1. 직접 요청하기 2. 퓨샷 학습 3. 출력 구조화 4. 페르소나 지정 퓨샷 학습 LLM에 몇 가지 예제를 제공하여 정확하고 일관된 출력을 생성하도록 하는 것 문제의 맥락과 애매한 차이를 이해하는 데 도움을 줌 특정한 어조, 구문 또는 특정 도메인에 특화된 언어를 다룰 때 유용함 명시적인 지시를 제공하지 않고도 LLM에 작업 이해도를 제공하여 더 직관적이고 사용자 친화적인 환경을 만들 수 있음 > 챗봇, 언어 번역 도.. 이전 1 2 3 다음