Titan
TitanML通过我们的训练、压缩和推理优化平台,帮助企业构建和部署更好、更小、更便宜、更快的NLP模型。
我们的推理服务器Titan起飞可以通过一个命令在您的硬件上本地部署LLM。支持大多数生成模型架构,如Falcon、Llama 2、GPT2、T5等等。
安装
要开始使用Titan起飞,您只需要在本地系统上安装docker和python。如果您希望使用支持GPU的服务器,则需要安装带有cuda支持的docker。
对于Mac和Windows用户,请确保您的docker守护程序正在运行!您可以通过在终端中运行docker ps来检查。要启动守护程序,请打开docker桌面应用程序。
运行以下命令安装Iris CLI,这将使您能够运行起飞服务器:
pip install titan-iris
选择模型
Iris起飞支持许多最强大的生成文本模型,如Falcon、MPT和Llama。有关更多信息,请参见支持的模型。有关使用自己的模型的信息,请参见自定义模型。
在本演示中,我们将使用falcon 7B instruct模型。这是一个很好的开源模型,经过训练可以遵循指令,并且足够小,即使在CPU上也可以轻松进行推理。
起飞
模型通过其在HuggingFace上的模型ID进行引用。起飞默认使用端口8000,但可以配置为使用其他端口。还支持使用Nvidia GPU,只需指定设备标志为cuda。
要启动起飞服务器,请运行:
iris takeoff --model tiiuae/falcon-7b-instruct --device cpu
iris takeoff --model tiiuae/falcon-7b-instruct --device cuda # 需要Nvidia GPU
iris takeoff --model tiiuae/falcon-7b-instruct --device cpu --port 5000 # 在端口5000上运行(默认为8000)
然后,您将被引导到登录页面,您需要创建一个帐户才能继续。登录后,运行屏幕上的命令以检查服务器是否准备就绪。当准备就绪时,您可以开始使用起飞集成。
推理您的模型
要访问您的LLM,请使用TitanTakeoff LLM包装器:
from langchain.llms import TitanTakeoff
llm = TitanTakeoff(
port=8000,
generate_max_length=128,
temperature=1.0
)
prompt = "太阳系中最大的行星是什么?"
llm(prompt)
默认情况下不需要参数,但可以指定端口并提供生成参数。
流式传输
还支持通过流式传输标志进行流式传输:
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
from langchain.callbacks.manager import CallbackManager
llm = TitanTakeoff(port=8000, callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]), streaming=True)
prompt = "法国的首都是哪里?"
llm(prompt)
与LLMChain集成
from langchain import PromptTemplate, LLMChain
llm = TitanTakeoff()
template = " {country}的首都是什么"
prompt = PromptTemplate(template=template, input_variables=["country"])
llm_chain = LLMChain(llm=llm, prompt=prompt)
generated = llm_chain.run(country="比利时")
print(generated)