Skip to main content

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)