If you're training just one person you don't need too many images, 15-30 is more than enough, so not sure what those 2k plus images are, but you really don't want to use that many. If they all are of the same person you'd pick the one that's most "clear" were you don't have things like shadows across the face etc, or weird facial expressions that can cause deformations in the trained face. If the images are the same person with different hair styles you can split it into different folders and name accordingly and have different triggers.
Assuming you're using standard lora, which you more than likely should be.
Learning rates, repeats and epoch will depend on what optimizer you use. With something like AdamW you want to have more repeats and less epochs. IE with 20 images you'd have something like 40-60 repeats and 2-3 epochs, it might be fine with just 1, but that depends on images, subject etc. You'll need some trial and error anyway so running it for an extra epoch isn't that big a deal.
If you use something from the dadapt/prodigy "family" you want less repeats and more epochs. Generally that might mean just 1-2 repeats and a lot of epochs. You also need a bunch of optimizer arguments.
Rank and alpha. While it's true that rank is the "size" of the lora, just think about it logically. A model contains insane amounts of "things" and those are just 2gb. Even if loras would be far less optimized there should be no need for just one "simple" person to need 128mb.
Having done A LOT of testing recently trying to figure out what's broken with kohya, one of the things i've found is that you can train a realistic quality "person" perfectly fine on rank 8. It was failing badly for me and for no other reason than to "just try" i dropped rank from 32 to 8 and likeness and quality increased drastically. Higher rank seems to allow too much additional data to be picked up and "contaminate" the training, too much junk to clear out to keep that details you are interested in. Observed result more than documented fact, but still.
Alpha is more of a limiter on learning, but i haven't really found a exact positive or negative consistent effect so far.
You didn't specify if this was on sd1.5 or xl, that has a huge impact on learning rates.
If it's for sd1.5 my suggested starting setup would be to pick 20-30 images, use a simple blip style captioning (long descriptive text and not comma separated tags). Around 40 repeats and 3 epochs, save each epoch for testing so you can see the progress. Use constant learning rate and adamw/adamw 8bit for simplicity. Network rank and alpha at 8 and 1 to start with.
For learning rate, batching is a bit of a variable. If you use batching you often have to increase your learning rate by a similar amount, i'm not sure if it's completely linear, but given you can run batch at 16 it shouldn't take you long to run this even at batch 1.
So use 0.0001 as learning rate and 0.00005 for text rate and run it at batch 1 just to start. Given it would take me over an hour to do this, it should be far far less of you.
Not sure what model you're planing to train on, but it seems like some "people" don't train well on some models, so even if you get good results no one model with one person it might not work as well for another. I've gotten good results on both deliberate and cyber realistic, but some times it's worked well on just one of them and failed completely on the other.
Lots of text and i might have forgotten something, but hopefully nothing too important.
(edit, knew there was something...)
For realistic images you might need to use regularization images, but try without them first as there's a bit of work involved using them. Can deal with that issue later if need be as it's more of a final tweak than absolute need.
Random test image from one of my test trainings, just to keep ppls attention.
View attachment 3040533