전체 글 250

Jetson에서 onnxruntime 사용 시 pthread_setaffinity_np failed 에러 해결하기

Nvidia 젯슨 플랫폼은 엔비디아에서 만든 엣지 디바이스 플랫폼으로 GPU를 엣지 디바이스에서도 사용하기 위한 프로젝트들을 위한 고성능 엣지 디바이스 플랫폼이다. 최근 Jetson 기기에서 onnxruntime을 사용해서 모델을 포팅하려던 중 다음과 같은 에러를 마주하게 되었다:2024-12-17 08:24:58.694297027 [E:onnxruntime:Default, env.cc:251 ThreadMain] pthread_setaffinity_np failed for thread: 531, index: 6, mask: {7, 39, }, error code: 22 error msg: Invalid argument. Specify the number of threads explicitly so th..

AI/Nvidia Jetson 2024.12.18

엔터프라이즈 아키텍처는 냉소적이어야 한다.

회사에 입사를 하고 많은 프로젝트들을 거치며 꾸준히 느끼는 바가 있는데, 기본적으로 엔터프라이즈 아키텍처는 냉소적이어야 한다는 것이다. 실제 세상에서 다양한 물리적 혹은 논리적인 이유로 시스템들은 에러를 마주하게 된다. 그 어떤 큰 기업에서 운영하는 시스템도 에러로부터 자유로울 수는 없다는 것은 확실하다. 엔터프라이즈 아키텍처는 이러한 현실에 냉소적일 수 있는 아키텍처여야만 한다. 다른 API나 모듈 또는 컴포넌트가 언제든 에러를 낼 수 있다고 의심하고, 그들이 주기적으로 에러를 낼 것이라는 가정 하에 스스로를 지킬 수 있는 방벽을 덕지덕지 세워 놓아야만 한다. 서킷브레이커 도입을 통해 장애 전파를 막고, try-catch 등을 통해 적절한 레이어에서 적절하게 에러 처리를 할 수 있도록 코드를 짜야 한다..

PostgreSQL Connection이 90분만에 끊어지는 상황 해결하기

네트워크 라우터의 TCP 연결 타임아웃과 Postgres keep-alive 설정에 대한 흥미로운 사례를 공유하고자 한다.부제는 "Cisco와 Windows의 조합으로 만들어진 혼돈" 정도로 하고자 한다. 문제 상황Windows 환경에서 Postgres 클라이언트와 DB 서버를 사용하던 중, 90분이 지나면 연결이 끊어지는 현상이 발생했다. 이 문제를 해결하기 위해 Cisco 공식 문서를 찾아보면서 원인을 파악할 수 있었다.라우터의 연결 상태 관리 방식라우터는 로컬 상태 테이블에서 연결들을 추적하며, 이를 통해 라우팅 결정을 내리고 유효하지 않은 패킷을 필터링한다. 이 상태 정보는 다음과 같은 경우에 제거된다:양쪽 중 한 쪽이 연결을 종료할 때연결이 너무 오랫동안 유휴 상태일 때 (클라이언트와 서버가 모..

DB/PostgreSQL 2024.11.29

AI 데이터 인프라의 부상

문서에서 정보를 추출하는 것은 새로운 개념은 아님. 하지만 생성형AI(GenAI)는 대량의 고품질 데이터를 필요로 함훈련과 추론 모두에 데이터가 중요하며 데이터 규모뿐만 아니라 텍스트, 테이블 데이터에서 비디오, 이미지, 오디오로 확장됨위성 이미지, 로봇 센서 데이터 등 공간 데이터의 증가도 관찰됨데이터 계층에서 AI로 인해 가장 즉각적으로 재창조될 수 있는 새로운 영역은 무엇일까?비정형 데이터 추출과 파이프라인, 검색 증강 생성 (Retrieval-Augmented Generation, RAG), 데이터 큐레이션, 데이터 스토리지 , - 인공지능 메모리이 글의 목적은 AI 데이터 인프라 환경을 분석하고, 최신 트렌드를 공유하고, 가장 유망한 혁신 영역에 대해 이야기 하는 것AI 데이터 인프라 현황AI ..

AI/AI News 2024.11.25

NVIDIA garak - LLM 취약점 스캐너

Garak은 LLM 기반 시스템의 취약점을 찾기 위해 개발된 무료 도구주로 LLM의 오작동과 보안 문제를 검사하며, nmap의 LLM 버전이라 할 수 있음다양한 정적, 동적, 적응형 탐침(probes)을 사용하여 LLM의 여러 취약점을 탐색Garak의 주요 기능LLM의 실패 지점 확인: 잘못된 정보 생성, 데이터 유출, 프롬프트 인젝션, 독성 생성, 제일브레이크(jailbreak) 등 여러 약점을 탐색다양한 프로빙 기법 사용: 수십 개의 플러그인과 수많은 탐침을 통해 다양한 LLM 실패 모드를 분석로그 기록: 각 실패 사례에 대해 프롬프트, 목표, 응답을 포함한 상세한 로그 제공지속적인 업데이트: 커뮤니티의 기여로 새로운 탐침이 추가되고 기존 탐침이 개선되며, 테스트 범위가 지속적으로 확대Garak의 주..

AI/AI News 2024.11.19

벡터 데이터베이스는 잘못된 추상화임

AI 애플리케이션을 구축하려는 엔지니어링 팀을 괴롭히는 메시지 : "임베딩이 다시 동기화되지 않았습니다"간단한 벡터 검색 구현은 모니터링, 동기화 및 문제 해결의 복잡한 오케스트라로 발전함벡터 데이터베이스로 AI 시스템을 구축하는 엔지니어링 팀과 이야기를 나눈 결과, 벡터 데이터베이스의 잘못된 추상화와 오늘날 사용 방식의 결함을 발견함"RAG 시스템을 구축하는 공통적인 사례"Pinecone을 벡터 데이터베이스로 사용하여 임베딩을 저장하고 검색함텍스트 데이터가 Pinecone의 메타데이터에 잘 맞지 않아 DynamoDB로 블롭과 애플리케이션 데이터를 처리함어휘 검색을 위해 OpenSearch가 필요했음 이제 3개의 시스템을 연결하고 동기화하는 것이 악몽임소스 문서를 삭제할 때 다음을 수행해야 함:boto3..

DB/Vector DB 2024.11.05

Rate Limiter 시스템 디자인 및 설계 방안

Token Bucket토큰 버켓의 경우 사전에 정해진 용량을 갖는다. 토큰은 주기적으로 사전에 설정된 비율로 버켓에 저장된다. 그리고 버켓이 꽉차게 되면 정해진 용량을 초과하여 토큰을 추가하지 않는다.각 API 요청은 1개의 토큰을 사용한다. 요청이 오면 버켓에 적어도 1개의 토큰이 존재하는지 확인한다. 존재하는 경우 1개의 토큰을 버켓에서 꺼내고 요청이 처리된다. 버켓이 비어있는 경우 요청들은 버려진다.   위 사진을 보면 유저마다 분당 3개의 요청량 제한이 설정되어있다.1번 유저가 10:00:00에 첫 번째 요청을 보냈을 때 토큰은 3개가 존재하므로 해당 요청은 정상 처리되며 잔여 토큰은 2개로 감소한다.10:00:10에 유저의 두 번째 요청이 오고 토큰은 2개가 존재하기 때문에 정상 처리되며 잔여 ..

GPT-4o는 이미지를 어떻게 인코딩할까?

GPT-4o는 이미지를 어떻게 인코딩할까? GPT-4o는 고해상도 모드에서 사용되는 각 512x512 타일을 처리하는 데 170 토큰을 부과함. 약 0.75 토큰/단어의 비율로 보면 이는 그림 한 장이 약 227 단어와 같다는 것"그림 한 장이 천 마디 말보다 낫다"는 말과 비교했을 때 약 4배 차이임170이라는 숫자는 기괴할 정도로 특이한 숫자임. OpenAI는 가격 책정에서 "20달러" 또는 "0.50달러"와 같은 반올림된 숫자나 내부 차원에 2와 3의 거듭제곱을 사용함170과 같은 숫자를 선택한 이유는 무엇일까? 프로그래밍에서 코드베이스에 설명 없이 그냥 던져진 숫자를 "매직 넘버"라고 하는데, 170은 상당히 눈에 띄는 매직 넘버임이미지 비용을 토큰 수로 변환하는 이유는 무엇일까? 단순히 청구 목..

AI/LLM 2024.07.27

Briefer – 일정, SQL, 내장 LLM이 포함된 멀티플레이어 노트북

Briefer – 일정, SQL, 내장 LLM이 포함된 멀티플레이어 노트북Notion + Jupyter 에 확장 기능을 추가노트북 스케줄링, 대시보드와 앱으로 변환, 데이터 프레임으로 결과를 리턴하는 SQL 쿼리 등기존 노트북의 문제점 해결공유의 어려움 : 데이터 팀 작업을 보기위해 Docker+Python 설치가 필요노트북이 너무 복잡함 : 코드 블록이 너무 많아져서 가독성 저하 및 비기술자가 이해하기 어려움데이터베이스 쿼리, API 호출, 그래프 작성 등의 간단한 작업도 복잡함Briefer의 해결 방법공유 문제 해결노트북을 클라우드로 이동하여 스케줄링 가능CRDTs와 Yjs를 사용해 상태 관리, 실시간 편집 반영노트북 정리깨끗한 디자인과 블록을 그룹화하여 정리 가능블록을 탭으로 그룹화하고, 공개 버전..

AI/AI News 2024.07.27

Google, AI 계약 덕분에 Reddit에서 작동하는 유일한 검색 엔진이 되다

Google, AI 계약 덕분에 Reddit에서 작동하는 유일한 검색 엔진이 되다Google은 이제 Reddit의 결과를 표시할 수 있는 유일한 검색 엔진임Reddit이 최근 robots.txt 파일을 업데이트하여 Google을 제외한 모든 검색 엔진의 크롤링을 차단함Bing, DuckDuckGo, Mojeek, Qwant 등 Google의 인덱싱에 의존하지 않는 대안 검색 엔진에서는 최근 1주일 동안의 Reddit 검색 결과를 볼 수 없음DuckDuckGo는 Reddit 검색 시 7개의 링크를 표시하지만, 링크의 목적지나 이유에 대한 정보는 제공하지 않음Kagi는 Google의 일부 검색 인덱스를 구매하여 Reddit 검색이 가능함이는 Google의 검색 독점이 다른 기업들의 경쟁 능력을 저해하는 시기..

AI/AI News 2024.07.27