본문 바로가기

분류 전체보기

(41)
Hash Table & Dictionary Hash Table 효율적인 탐색(빠른 탐색)을 위한 자료구조 key-value 쌍의 데이터를 입력 받음 hash function에 key값을 입력으로 넣어 얻은 해시값을 위치로 지정하여 데이터 쌍(key-value)을 저장 저장, 삭제, 검색의 시간복잡도 O(1) Array List 또는 Array List+Linked List로 구현 가능 → 파이썬의 경우 Array List로 구현됨 Direct-address Table key 값이 index가 되는 테이블 낭비되는 메모리가 발생 문자열이 key로 들어오면 index로 사용 불가 이러한 문제를 해결하기 위해 Hash Table 사용 Collision 해시 테이블에서 인덱스 간 중복이 발생하는 것(충돌) Open Addressing, Seperate ..
RAG란 RAG LLM이 텍스트를 생성할 때 관련 정보를 찾아보고(retrieval), 그 정보를 활용하여 새로운 텍스트를 만드는(generation) 기술. DB나 인터넷 같은 정보의 원천에서 필요한 사실이나 데이터를 찾아, 그것을 기반으로 텍스트를 만드는 기술 RAG 구현 과정 정보 검색 질문 입력 사용자가 필요한 정보를 찾음 검색 검색 엔진이 해당 쿼리와 관련된 정보를 DB나 인터넷에서 search 유사도 검색 키워드 검색 사용자가 입력한 단어를 DB나 인터넷에서 직접 찾음 문맥을 파악x 단순히 키워드 존재 여부를 기준 → 관련 없는 결과를 보여주기도 함 시맨틱 검색 단어의 의미와 문맥을 이해하여 보다 관련성 높은 결과를 제공하는 기술 키워드 검색보다 훨씬 복잡 고도의 알고리즘과 자연어 처리 기술이 필요 랭..
List 리스트 set 자료형과는 다르게 순서가 있는 자료형 리스트 자료형의 경우 Array List또는 Linked List로 구현 가능 List Array List (Static) Array Dynamic Array Linked List Node Array List 배열 기반으로 연속적(순서대로) 데이터 저장 파이썬에서 말하는 list Array 또는 Dynamic Array로 구현(파이썬은 Dynamic Array를 통해 구현됨) Dynamic Array는 Array를 이용하여 구현 즉 Array->Dynamic Array->Array List (Static) Array 선언 시 size를 정하여(C언어) 해당 size만큼의 연속된 메모리를 할당 받아 데이터를 연속적(순차적)으로 저장 데이터의 갯수가 정해져..
데이터베이스 스터디 회고 스터디 방식 기간: 2024/3/8~ 2024/4/5(5주차) 내용: 데이터베이스 빈출 질문 개념에 대해 + 정리한 개념 하기 스터디 시작 계기 데이터엔지니어링 업무 중, 데이터베이스의 개념을 정리하고 싶었음 열의있는 사람들과 함께 스터디하며 동기부여 얻고, 배우고 싶었음 스터디 마무리 하면서 느낀점 열의를 갖고 공부하시는 분들이 많았다. 깊게 아는 것도 중요하지만 제대로 아는 것도 중요하다. 블로그를 정리하는 방법의 향상이 된 것 같음 아쉬웠던점 개념에 대한 이해는 하였으나, 다른 사람에게 설명하는 것은 쉽지 않았음 Next Step 이후에는 비슷한 방식(빈출 질문 위주 학습)으로 OS 스터디(또는 독학)를 하고자 한다. 추가로 GCP, AWS에 대한 학습을 통해 클라우드에 대해 공부하고 자격증 시험 ..
[DB 스터디 5주차] 트랜잭션, 회복 DB세션 데이터베이스 접속을 시작으로, 여러 작업을 수행한 후 접속 종료까지의 전체 기간 세션 내부에는 하나 이상의 트랜잭션이 존재할 수 있음 일반적으로 데이터베이스는 여러 곳에서 동시에 접근이 가능하기 때문에 많은 세션이 동시에 연결될수 있음 세션은 데이터가 변경, 삭제가 확정될때까지 해당 데이터 조작을 분리처리함으로써 데이터와 테이블과의 관계를 보존하는 역할을 함 트랜잭션 데이터베이스에서 수행되는 하나 이상의 작업을 하나의 논리적 단위로 묶어, 일련의 데이터베이스 조작을 원자적으로 실행하는 개념 트랜잭션의 특징 Atomicity (원자성) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장한다. Consistency (일관성) 트랜잭션이 실행되기 전과 실행된 후에 데이터베이스는 일관된 상..
[DB 스터디 4주차] 이상현상, 함수적 종속성, 정규화 📌 Index Q) 이상 현상이 뭘까요? 이상 현상 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류 갱신이상, 삽입이상, 삭제이상으로 구성됨 Q) 삽입 이상(Insertion Anomaly)에 대해서 설명해주세요. 삽입 이상 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상 Q) 갱신 이상(Update Anomaly)에 대해서 설명해주세요. 갱신 이상 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상 Q) 삭제 이상(Deletion Anomaly)에 대해서 설명해주세요. 삭제 이상 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상 Q) 함수 종속성이 무엇인가요? 함수 종속 X -> Y X가 ..
[DB 스터디 3주차] Index 📌 Index Q) 랜덤 I/O와 순차 I/O에 대해서 설명해주세요. I/O Input, output 랜덤 I/O 읽어야하는 데이터가 물리적으로 불연속적으로 있기 때문에 디스크 헤더를 이동 시킨 다음 데이터를 읽는 것 인덱스 레인지 스캔 시 사용 순차 I/O 읽어야하는 데이터가 연속적으로 있어 순서대로 읽는 것 테이블 스캔 시 사용 디스크 성능/쿼리튜닝 HDD와는 다르게 SSD는 디스크 원판이 없어서 랜덤 I/O와 순차 I/O가 큰 차이가 없을 것 같지만 SSD에서도 랜덤 I/O는 순차 I/O 대비 throughput이 떨어짐 쿼리 튜닝의 목적->랜덤I/O를 줄이는 것->꼭 필요한 데이터만 읽도록 쿼리 개선 Q) 인덱스에 대해서 설명해주세요. 인덱스(index) 추가적인 쓰기 작업과 저장 공간을 활용하여..
LLM의 발전 & 오픈소스와 폐쇄형소스 출처 https://www.youtube.com/watch?v=XwlLeVhWCCc&list=PLQIgLu3Wf-q_Ne8vv-ZXuJ4mztHJaQb_v&index=2 위 강의를 기반으로 학습한 내용을 정리한 글입니다. LLM의 발전 양상 현재 NLP 모델은 대부분 Transformer 아키텍처 기반 모델의 용도에 따라 Transformer의 Encoder/Decoder를 개별 또는 통합 사용하는 추세 Encoder : 말을 이해 하는 데 초점 Decoder : 말을 잘 하는 데 초점 이러한 Decoder 중심의 빠른 발전이 이루어짐 Closed Source vs Open Source Closed Source 개발사 OpenAI Google 개발모델 GPT-3 GPT-3.5 GPT-4 PALM LaMD..