mirror of
https://github.com/xai-org/grok-1.git
synced 2024-09-18 03:53:00 +03:00
Merge f57a3e2619
into 7050ed204b
This commit is contained in:
commit
7a87bc2018
23
run.py
23
run.py
@ -13,15 +13,25 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import hashlib
|
||||||
|
|
||||||
from model import LanguageModelConfig, TransformerConfig, QuantizedWeight8bit as QW8Bit
|
from model import LanguageModelConfig, TransformerConfig, QuantizedWeight8bit as QW8Bit
|
||||||
from runners import InferenceRunner, ModelRunner, sample_from_model
|
from runners import InferenceRunner, ModelRunner, sample_from_model
|
||||||
|
|
||||||
|
|
||||||
CKPT_PATH = "./checkpoints/"
|
CKPT_PATH = "./checkpoints/"
|
||||||
|
CKPT_HASH = "expected_checkpoint_hash"
|
||||||
|
|
||||||
|
|
||||||
|
def validate_checkpoint(path, expected_hash):
|
||||||
|
calculated_hash = hashlib.sha256(open(path, 'rb').read()).hexdigest()
|
||||||
|
if calculated_hash != expected_hash:
|
||||||
|
raise ValueError("Invalid checkpoint file!")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
# Validate checkpoint integrity
|
||||||
|
validate_checkpoint(CKPT_PATH, CKPT_HASH)
|
||||||
grok_1_model = LanguageModelConfig(
|
grok_1_model = LanguageModelConfig(
|
||||||
vocab_size=128 * 1024,
|
vocab_size=128 * 1024,
|
||||||
pad_token=0,
|
pad_token=0,
|
||||||
@ -53,7 +63,10 @@ def main():
|
|||||||
model=grok_1_model,
|
model=grok_1_model,
|
||||||
bs_per_device=0.125,
|
bs_per_device=0.125,
|
||||||
checkpoint_path=CKPT_PATH,
|
checkpoint_path=CKPT_PATH,
|
||||||
|
# Limit inference rate
|
||||||
|
inference_runner.rate_limit = 100
|
||||||
),
|
),
|
||||||
|
|
||||||
name="local",
|
name="local",
|
||||||
load=CKPT_PATH,
|
load=CKPT_PATH,
|
||||||
tokenizer_path="./tokenizer.model",
|
tokenizer_path="./tokenizer.model",
|
||||||
@ -65,8 +78,16 @@ def main():
|
|||||||
|
|
||||||
inp = "The answer to life the universe and everything is of course"
|
inp = "The answer to life the universe and everything is of course"
|
||||||
print(f"Output for prompt: {inp}", sample_from_model(gen, inp, max_len=100, temperature=0.01))
|
print(f"Output for prompt: {inp}", sample_from_model(gen, inp, max_len=100, temperature=0.01))
|
||||||
|
# Add authentication
|
||||||
|
@app.route("/inference")
|
||||||
|
@auth.login_required
|
||||||
|
def inference():
|
||||||
|
...
|
||||||
|
|
||||||
|
gen = inference_runner.run()
|
||||||
|
|
||||||
|
# Rest of inference code
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user