High Frequency Blinking LED
Especially considering size and weight, I'd use a PIC 10F200 microcontroller.  It has a oscillator built in, and needs no other components other than a bypass cap to drive a LED.  It can also run from a reasonably wide voltage range, including 3.7 V.

The internal oscillator is good to a few percent.  The instruction cycle rate is 1 MHz driven by that oscillator.  At 1-5 kHz, you have a minimum of 200 cycles per blink period, or 100 cycles per blink phase.  That's plenty to do a little counting to decide when to toggle the LED state.

The output pins can source or sink a few mA, and you can gang three of them together to get more current capability to drive the LED directly with a resistor in series to set the current.