mirror of https://github.com/google/gemma.cpp.git
parent
a248f76245
commit
bcdb0d65bd
|
|
@ -629,7 +629,7 @@ class ReadFromBlobStore {
|
||||||
// reader_ invalid or any Enqueue failed
|
// reader_ invalid or any Enqueue failed
|
||||||
if (err_ != 0) return err_;
|
if (err_ != 0) return err_;
|
||||||
// Setup the model_memory.
|
// Setup the model_memory.
|
||||||
for (int b = 0; b < model_toc_.size(); ++b) {
|
for (size_t b = 0; b < model_toc_.size(); ++b) {
|
||||||
const std::string& file_key = file_keys_[b];
|
const std::string& file_key = file_keys_[b];
|
||||||
MatPtr* blob = model_toc_[b];
|
MatPtr* blob = model_toc_[b];
|
||||||
if (!file_toc_.Empty()) {
|
if (!file_toc_.Empty()) {
|
||||||
|
|
|
||||||
|
|
@ -139,8 +139,9 @@ class SbsWriterImpl : public WriterInterface {
|
||||||
void AddTokenizer(const std::string& tokenizer_path) override {
|
void AddTokenizer(const std::string& tokenizer_path) override {
|
||||||
Path path(tokenizer_path);
|
Path path(tokenizer_path);
|
||||||
GemmaTokenizer tokenizer(path);
|
GemmaTokenizer tokenizer(path);
|
||||||
tokenizer_proto_ = tokenizer.Serialize();
|
std::string tokenizer_proto = tokenizer.Serialize();
|
||||||
compressor_.AddTokenizer(tokenizer_proto_);
|
HWY_ASSERT(!tokenizer_proto.empty());
|
||||||
|
compressor_.AddTokenizer(tokenizer_proto);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the number of blobs added.
|
// Returns the number of blobs added.
|
||||||
|
|
@ -159,7 +160,6 @@ class SbsWriterImpl : public WriterInterface {
|
||||||
std::vector<MatStorage> model_memory_;
|
std::vector<MatStorage> model_memory_;
|
||||||
std::vector<float> scales_;
|
std::vector<float> scales_;
|
||||||
CompressorMode mode_;
|
CompressorMode mode_;
|
||||||
std::string tokenizer_proto_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
WriterInterface* NewSbsWriter(CompressorMode mode) {
|
WriterInterface* NewSbsWriter(CompressorMode mode) {
|
||||||
|
|
|
||||||
|
|
@ -690,7 +690,6 @@ HWY_NOINLINE void FFWNoVit(Activations& activations, size_t num_interleaved,
|
||||||
PROFILER_ZONE("Gen.FFW");
|
PROFILER_ZONE("Gen.FFW");
|
||||||
const size_t model_dim = layer_weights->layer_config.model_dim;
|
const size_t model_dim = layer_weights->layer_config.model_dim;
|
||||||
const size_t ffh_hidden_dim = layer_weights->layer_config.ff_hidden_dim;
|
const size_t ffh_hidden_dim = layer_weights->layer_config.ff_hidden_dim;
|
||||||
using WeightType = T;
|
|
||||||
HWY_DASSERT(num_interleaved <= activations.bf_pre_ffw_rms_out.BatchSize());
|
HWY_DASSERT(num_interleaved <= activations.bf_pre_ffw_rms_out.BatchSize());
|
||||||
|
|
||||||
const bool add_bias = layer_weights->layer_config.ff_biases;
|
const bool add_bias = layer_weights->layer_config.ff_biases;
|
||||||
|
|
@ -746,7 +745,6 @@ HWY_NOINLINE void FFWVit(Activations& activations, size_t num_interleaved,
|
||||||
const LayerWeightsPtrs<T>* layer_weights) {
|
const LayerWeightsPtrs<T>* layer_weights) {
|
||||||
PROFILER_ZONE("Gen.FFW");
|
PROFILER_ZONE("Gen.FFW");
|
||||||
const size_t ff_hidden_dim = layer_weights->layer_config.ff_hidden_dim;
|
const size_t ff_hidden_dim = layer_weights->layer_config.ff_hidden_dim;
|
||||||
using WeightType = typename LayerWeightsPtrs<T>::WeightF32OrBF16;
|
|
||||||
HWY_DASSERT(num_interleaved <= activations.bf_pre_ffw_rms_out.BatchSize());
|
HWY_DASSERT(num_interleaved <= activations.bf_pre_ffw_rms_out.BatchSize());
|
||||||
|
|
||||||
const bool add_bias = layer_weights->layer_config.ff_biases;
|
const bool add_bias = layer_weights->layer_config.ff_biases;
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ BlobError ModelWeightsStorage::Save(const std::string& tokenizer,
|
||||||
writer.AddTokenizer(tokenizer);
|
writer.AddTokenizer(tokenizer);
|
||||||
int err = writer.WriteAll(weights, &config_);
|
int err = writer.WriteAll(weights, &config_);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
fprintf(stderr, "Failed to load model weights: %d\n", err);
|
fprintf(stderr, "Failed to write model weights: %d\n", err);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue