非streamなら全部貯めて送信 • LLMは文章をまとめて生成はせず1文字ずつ生成しかできない ◦ bufでためているのはそのせい ◦ PLaMoに限らず一般的 • 厳密にはgenerateするのは1文字ではなくtoken ◦ tokenizerによるdecodeが挟まる LLMサーバの概要 model = PLaMo() …. def generate(input: str, stream: bool): buf = [] for word in model.generate(input) if stream: send_by_stream(word) else: buf += word if not stream: send(buf)
基本的に共用するメリットよりデメリットのほうが多い ◦ 束ねても早くなりにくため待ち時間の割合が大きくなる ◦ 処理が交わらないように適切に実装しないといけない ベスプラとは相反する ユーザ Application DB ユーザ Process Process Process connection connection table