[Python] Library | 07. boto3
·
Language/Python
Boto3는 다양한 AWS 서비스(S3, EC2, Lambda 등)를 생성, 설정, 관리할 수 있게 해주는 라이브러리입니다. AWS 서비스 API에 접근하기 위한 객체 지향 API를 제공하며, 자격 증명 관리, 재시도 로직 등을 이용해 AWS 서비스를 자동화 할 수 있게 해줍니다.ClientAWS 서비스 중에서도 낮은 수준의 API를 제공하는 객체입니다. 아래와 같이 생성된 s3 객체는 AWS S3의 모든 API 엔드포인트를 직접 호출할 수 있습니다.import boto3s3 = boto3.client("s3")client 메소드는 다음 매개변수들을 인자로 받을 수 있습니다.매개변수타입기능service_name *string서비스 이름 (s3, ec2 등)session.get_available_servi..
[Modal] 03. Secret
·
ML
Secret은 Modal에서 실행하는 이미지(컨테이너) 안에서 사용할 환경변수를 제공합니다. API 토큰의 키 값과 같은 경우 외부에 노출되지 않아야 하는 민감한 정보이기 때문에, Secret을 이용해 안전하게 관리할 수 있습니다.Secret 등록하기대시보드를 통해서Modal 대시보드를 연 뒤 Secrets 탭으로 이동합니다. 처음 상태라면 아래와 같이 화연에 보여집니다.Get started 또는 Create new secret으로 새로운 Secret을 생성해줍니다. 아래와 같이 몇 가지의 선택지들이 나오는데, 간단하게 Custom을 선택합니다.Name에 전체 Secret 이름을 입력한 후, Enrionment variables에서 환경 변수들을 등록해주면 됩니다. 여기서는 r2-credentials라는..
[DB][S3] Cloudflare R2에 대해서
·
Backend/DB
Cloudflare R2는 정보통신기술기업 Cloudflare에서 제공하는 객체 스토리지 서비스입니다. 대표적인 스토리지 서비스인 AWS의 S3과 호환되면서도 외부 전송 비용이 없다는 점을 강점으로 내세웠습니다. R2는 Cloudflare의 대시보드에서 사용할 수 있으며, 자세한 정보는 아래 공식 문서에서 확인할 수 있습니다.https://developers.cloudflare.com/r2/ Cloudflare R2Cloudflare R2 is a cost-effective, scalable object storage solution for cloud-native apps, web content, and data lakes without egress fees.developers.cloudflare.com..
[Modal] 02. Function
·
ML
Function은 Modal에서 실행가능한 최소 단위입니다. 하나의 App 안에 여러 개의 Function이 존재할 수 있지만, 이들은 모두 독립적으로 실행하거나 확장할 수 있습니다. 덕분에 서버에서 특정 Function을 호출하지 않으면 그 Function은 컨테이너에도 올라가지 않아 자원을 효율적으로 사용할 수 있습니다. 일반적으로 Function 클래스를 직접 사용하여 생성하지 않고, @app.function( ) 데코레이션을 통해 생성합니다.@app.function()def f(): print("Hello world!")@app.function()def g(): print("Goodbye world!")이런 식으로 정의된 함수는 App에 속하게 되고, 나중에 remote( )로 실행할수..
[Modal] 01. App
·
ML
App은 함께 배포되는 함수들과 클래스들의 묶음입니다.import modalapp = modal.App()하나 이상의 Function을 묶어 관리하게 되며, 하나의 namespace를 구성하여 서로 다른 App 사이에는 이름이 충돌되지 않습니다. App의 구분Ephemeral Appsmodal run 명령어 또는 app.run( ) 메소드로 실행되는 App입니다. 임시로 만들어지는 App이며, 스크립트가 실행되는 동안만 지속됩니다. 프로세스가 종료되거나 클라이언트가 더 이상 서버와 연결되어 있지 않다고 판단되면 App도 종료됩니다.def main(): # ... with app.run(): some_modal_function.remote()이런 방식으로 App을 실행하면 로그나 진..
[Modal] App, Function, Entrypoint
·
ML
AppApp은 Modal에서 실행되는 프로그램의 단위입니다. 하나 이상의 Function을 묶어 관리하게 되며, 하나의 namespace를 구성하여 서로 다른 App 사이에는 이름이 충돌되지 않습니다.import modalapp = modal.App()def __init__( self, name: Optional[str] = None, *, tags: Optional[dict[str, str]] = None, # Additional metadata to set on the App image: Optional[_Image] = None, # Default Image for the App (otherwise default to `modal.Image.debian_slim()`)..
[Modal] Modal에 대하여
·
ML
Modal은 AI 및 데이터 팀을 위한 서버리스 컴퓨팅 플랫폼으로, 고성능 AI 인프라를 손쉽게 활용할 수 있도록 설계된 서비스입니다. 작성한 코드가 일반적인 서버에서 실행하기 힘들 만큼 무거울 때, 작성한 코드를 그대로 가져와 대신 실행시킬 수 있습니다. 기본적인 ML 모델 추론 부터 시작해 데이터 파이프라인, 배치 작업을 위한 즉시 자동 확장 기능도 제공합니다. Python 코드를 그대로 작성하여 Flask 등 벡엔드 도구와 연동하기 쉬우며, 일반적인 배포 서비스와 달리 GPU 사용이 필요할 때만 자원을 사용하기 때문에 비용 효율과 탄력성이 높은 편입니다.설치먼저 modal과 관련된 의존관계를 설치합니다.pip install modal그 후 웹 브라우저에서 인증을 받아 API 토큰을 발급받아야 합..
[review] Boost Your Human Image Generation Model via Direct Preference Optimization
·
Reveiw/Paper
카카오 AI 연구팀에서 진행한 연구로, 2025 CVPR 하이라이트 논문으로 선정되었습니다.https://arxiv.org/abs/2405.20216 Boost Your Human Image Generation Model via Direct Preference OptimizationHuman image generation is a key focus in image synthesis due to its broad applications, but even slight inaccuracies in anatomy, pose, or details can compromise realism. To address these challenges, we explore Direct Preference Optimization..